2015-04-29 121 views
1

需要幫助PowerShell命令行參數丟失,如果從CMD運行直接

工作:C:\ SDK>的PowerShell TESTPS1.ps1 A1 A2 A3

不工作:C:\ SDK>。\ TESTPS1.ps1 a1 a2 a3

i n以上示例兩個命令均運行腳本,但第二個命令運行腳本時沒有powershell作爲前綴不會在args中捕獲參數。

Powershell是ps1擴展的默認應用啓動器。

腳本:TESTPS1.ps1

---------------------------------- ----------

寫 - 主機 「行書」

寫主機的$ args

寫 - 主機 「腳本完成!」

--------------------------------------------

+1

是,你不能從CMD運行PowerShell腳本... –

+0

在這裏看到:HTTP: //forloveofsoftware.blogspot.ca/2009/04/calling-powershell-script-in-path-with.html –

+1

從cmd運行'。\ afile',將在默認的關聯應用程序中打開此文件 –

回答

0

。\ file將在默認應用程序中打開它。默認情況下,這應該是notepad.exe .ps1文件。 .ps1文件的類映射可能尚未設置爲正確傳遞參數。啓用此功能是潛在的安全風險,並且由於某種原因未啓用。

對於如何手動做到這一點,你將需要尋找到建立一個自定義註冊表類喜歡的.ps1%1