我想编写一个脚本,创建一个不存在的目录并在该文件夹中创建一个文件。该脚本还应该能够为文件赋值。以下是我的代码,但它没有为文件赋值。在这种情况下,我正在尝试将数组插入文件中。
$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 []'而不是数组。需要一些帮助。
答案 0 :(得分:2)
它写了'System.Object []'因为这是$ myarray.ToString()输出的内容。 一种解决方案是:
New-Item -Path C:\temp -Force -Name myarray.log -ItemType File -Value $($myarray -join ' ')
这将在由空格分隔的文件中写入数组的所有元素。
此处有更多解决方案:How do I convert an array object to a string in PowerShell?
答案 1 :(得分:1)
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