11
如何從PowerShell寫入有效的.CMD(或.BAT)文件?我使用>
運營商,但cmd.exe
無法執行我創建的文件。如何從PowerShell寫入.CMD文件?
下面是我想要做的一個例子。 [爲了比較,我也從CMD.EXE
寫入.cmd文件,並表明它工作正常]
在PowerShell中:
PS C:\> "@set BAR=1" > bar.cmd // write to a .CMD file from PowerShell
在CMD.EXE:
C:\> echo @set FOO=1 > foo.cmd // write to a .CMD file from CMD.EXE
C:\> type foo.cmd // display .CMD file written from CMD.EXE
@set FOO=1 // PASS
C:\> type bar.cmd // display .CMD file written from PowerShell
@set BAR=1 // PASS
C:\> call foo.cmd // invoke .CMD file written from CMD.EXE
C:\> echo %FOO%
1 // PASS
C:\> call bar.cmd // invoke .CMD file written from PowerShell
C:\> ■@ // FAIL
'■@' is not recognized as an internal or external command,
operable program or batch file.
我懷疑bar.cmd
正在使用不支持call
的編碼在CMD.EXE
中創建。 [雖然公告稱type
在其當前的編碼顯示的bar.cmd
內容沒有問題。]
什麼是編程寫入從PowerShell中.cmd文件,使得它可以從CMD.EXE
與call
被調用的正確方法?
這樣做的竅門,謝謝! – jwfearn 2011-03-13 04:03:12
或者您可以使用Out-File例如:''@set BAR = 1'| Out-File bar.cmd -enc ascii' – 2011-03-13 04:07:19
得愛管,謝謝Keith! – jwfearn 2011-03-13 04:24:40