我有,我想用所謂的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