我有,我想用所谓的test.ps1
PowerShell脚本,看起来像这样自动执行磁盘操作:Powershell脚本:当用手写入时工作,在生成时不起作用。
diskpart /s diskstuff.txt
文件diskstuff.txt看起来是这样的:
list disk
select disk 0
list partition
当我创建diskstuff.txt
手使用notepad.exe,然后像这样运行:
PS C:\> powershell.exe .\test.ps1
它运行正常,赋予我有关分区的信息。但我只想要一个文件来处理。所以,我在test2.ps1
试过这个脚本:
$text1 = 'list disk'
$text2 = 'select disk 0'
$text3 = 'list partition'
$text1 > 'diskstuff2.txt'
$text2 >> 'diskstuff2.txt'
$text3 >> 'diskstuff2.txt'
diskpart /s diskstuff2.txt
当我运行脚本:
PS C:\> powershell.exe .\test2.ps1
它并没有从DISKPART返回任何有用的东西。我检查了diskstuff2.txt
和diskstuff.txt
在notepad.exe,它看起来完全一样。
我环视了一下网络,发现了一个更好的检查文件的方法。首先是手写代码文件的转储(diskstuff.txt
)。
PS C:\> Get-Content diskstuff.txt -Encoding Byte
结果的最后几行是
116
105
111
110
13
10
然后将所生成的文件的转储(diskstuff2.txt
)
PS C:\> Get-Content diskstuff.txt -Encoding Byte
结果的最后几行是:
116
0
105
0
111
0
110
0
13
0
10
0
这表明我的脚本生成diskstuff2.txt是以某种方式在每个字符之间插入零。有没有一种方法可以让我的脚本生成diskstuff2.txt
没有所有这些零,以便我可以按预期执行test2.ps1
?
谢谢@PetSerAl。这帮助了我很多。 – 2015-03-31 23:05:27