5
我試圖在Windows Azure角色上運行啓動任務cmd腳本。在Azure WorkerRole上運行PowerShell命令時出錯
這是命令文件腳本的兩行:
powershell $command = "set-executionpolicy Unrestricted"
powershell $command = ".\setupAgent.ps1" -NonInteractive >; out.txt
現在是,我得到的命令shell錯誤消息的問題,上面寫着:
D:\Users\UserAccount>powershell $command = "set-executionpolicy Unrestricted"
'powershell' is not recognized as an internal or external command,
operable program or batch file.
它看起來像有使用某種不同的代碼頁或連接,因爲這些特殊字符不在我的cmd文件中。 cmd文件是通過VS 2012 Ultimate在Windows 8上創建的。
你有什麼想法,我怎麼能在命令開始時忽略特殊字符?如果我通過遠程桌面將命令從cmd文件複製到控制檯,它可以正常工作!
謝謝,這是解決方案! – sebastian87 2013-04-11 13:12:14
+1。你能否詳細說明爲什麼需要這種編碼? – 2014-11-14 18:52:23
Visual Studio默認將文件保存爲UTF-8和BOM(字節順序標記 - 文件的第一個字節)。包括Windows在內的操作系統在執行'script'文件時無法識別這一點。這會導致任何以UTF-8和BOM保存的腳本文件失敗。一般的經驗法則是,要由OS執行的腳本文件(DOS批處理文件,PS文件,BASCH腳本,Peral,PHP等)具有本機ASCII編碼。 – astaykov 2014-11-14 21:09:19