我需要打個電話powershell.exe看起來像這樣,並從我的命令行工作:如何在runonce-Key中運行powershell腳本?
powershell.exe -noexit -command " & 'C:\Test\test.ps1' "
然而,當我輸入條目完全在我的當前用戶,沒事的RunOnce鍵這樣發生。
什麼是從runonce或運行調用powershell.exe傳遞參數的正確方法?
我需要打個電話powershell.exe看起來像這樣,並從我的命令行工作:如何在runonce-Key中運行powershell腳本?
powershell.exe -noexit -command " & 'C:\Test\test.ps1' "
然而,當我輸入條目完全在我的當前用戶,沒事的RunOnce鍵這樣發生。
什麼是從runonce或運行調用powershell.exe傳遞參數的正確方法?
完整路徑嘗試:
c:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -noexit "C:\Test\test.ps1"
或
c:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -noexit -command " & 'C:\Test\test.ps1' "
一個稍微不同的方法是把所有的電話與所有參數powershell.exe /參數到一個簡單的* .BAT文件,並從RunOnce項中調用該* .bat文件。這樣你就不需要玩弄有時會弄亂的參數。您的PowerShell腳本甚至可以刪除該* .bat文件,因爲它只需要一次。
使用File參數而不是命令。 您還可以使用其他一些參數進行清理東西(NOPROFILE,STA和/或WindowStyle)
這是我用一個例子。
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -noprofile -sta -WindowStyle Hidden -File "C:\Test\Test.ps1"
謝謝,執行的RunOnce鍵時,它是與路徑的問題,它工作在commandshell因爲我猜PowerShell的路徑是在我的環境設置時已經登錄,但不是現在。但是,我使路徑更通用一些:%WINDIR%\ system32 \ WindowsPowerShell \ v1.0 \ powershell.exe,並在將另一個PowerShell腳本添加到註冊表之前使用ExpandEnvironmentStrings。這是否也適用於Win7 x64? – Erik
如果您想更改腳本的工作目錄,該怎麼辦? –