1
我在PowerShell中編寫了一個GUI應用程序。它有一個參數。作爲文件資源管理器擴展工作的PowerShell腳本
在腳本的開始,我有:將出現表單
param (
[string]$Path
)
之前,我填的控制與$Path
:
$Form.Add_Load({
$txtSourceFile.Text = $Path
})
當我在PowerShell中交互運行腳本似乎按預期工作。 txtSourceFile
控件由命令行中的參數填充。
.\ghead.ps1 -Path C:\src\data\ghead.ps1
但是,當我將它作爲文件資源管理器擴展運行時,它似乎沒有從命令行接收參數。該命令的註冊表設置爲:
C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.EXE C:\\Users\\lit\\bin\\ghead.ps1 -Path %1
沒有錯誤消息。它根本不填寫$txtSourceFile.Text
字段。我錯過了明顯的東西嗎?我怎樣才能使這個工作?
建議作爲副本提出的問題不處理作爲Windows文件資源管理器擴展名運行。我已經在使用param()技術。
[從批處理文件傳遞參數給PowerShell腳本](可能的重複http://stackoverflow.com/questions/6359618/pass -parameter-from-batch-file-to-the-powershell-script) – Clijsters
你不需要將它包裝在函數中並調用函數來傳遞參數嗎?我可能是錯的,但那就是我會怎麼做。 – nkasco
@nkasco - 你會建議如何在.ps1文件中運行一個函數的註冊表項? – lit