создать папку и файл в Powershell

Я хочу написать скрипт, который создает несуществующий каталог и создает файл в этой папке. Сценарий также должен иметь возможность присваивать значение файлу. Ниже приведен мой код, но он не присваивает значение файлу. В этом случае я пытаюсь вставить массив в файл.

$myarray=@()

for($x=0;$x -lt 20; $x++) {

$myarray += $x

}

New-Item -Path C:\temp -Force -Name myarray.log -ItemType File -Value $myarray 

когда я открываю файл, myarray.log все, что я вижу, это «System.Object []», но не массив. Нужна помощь здесь.


person Yini    schedule 28.03.2014    source источник


Ответы (2)


Он пишет «System.Object []», потому что это то, что выводит $myarray.ToString(). Одним из решений будет:

New-Item -Path C:\temp -Force -Name myarray.log -ItemType File -Value $($myarray -join ' ') 

Это запишет все элементы массива в файл, разделенные пробелами.

Дополнительные решения здесь: Как преобразовать объект массива в строку в PowerShell ?

person marosoaie    schedule 28.03.2014

marosoaie ответил на ваш вопрос, но вы также можете заменить:

$myarray=@()

for($x=0;$x -lt 20; $x++) {

    $myarray += $x

}

с участием

$myarray = 1..20

для создания массива чисел от 1 до 20. Краткий пример:

PS C:\> 1..5
1
2
3
4
5
person TessellatingHeckler    schedule 28.03.2014
comment
Спасибо, но мне все равно нужно получить это из цикла задания, спасибо - person Yini; 30.03.2014