使用上下文選單命令的非標準參數語法格式化註冊表值

使用上下文選單命令的非標準參數語法格式化註冊表值

我正在嘗試向 Windows 資料夾背景上下文功能表新增一個條目。以下“命令”值有效:

"P:\Projects\GuardianBlade\OfStrangerFlames\Development\Project\Bin\MakeManifest.exe"

它成功執行了 MakeManifest(我正在為我的真實程式設計專案開發的小型開發工具)。

但是,我想這樣做:

"P:\Projects\GuardianBlade\OfStrangerFlames\Development\Project\Bin\MakeManifest.exe" -root="%1"

但這是行不通的。這也不:

"P:\Projects\GuardianBlade\OfStrangerFlames\Development\Project\Bin\MakeManifest.exe" "-root=%1"

我的目標是執行程式 MakeManifest.exe 並接收格式的命令列參數:

-root="the/directory/right-clicked/in/"

我希望將目錄路徑周圍的引號傳遞到 MakeManifest 中並保留,並且我希望整個內容(-root="/目錄/右鍵/in/") 作為一個參數。

如果做不到這一點,我會滿足於-根作為一個參數傳入,並且/目錄/路徑(不含引號,但作為一個參數)作為第二個參數傳入。我也沒辦法上班。

我所有的嘗試都會導致此錯誤訊息: 在此輸入影像描述

該文件沒有與之關聯的用於執行此操作的程序。請安裝一個程序,或如果已安裝該程序,請在「預設程序」控制面板中建立關聯。

……就好像它試圖識別哪個程式將整個命令作為檔案路徑執行。

同樣,設定不帶任何參數的命令效果很好。

我該怎麼做呢?

答案1

使用%V而不是%1.

有關 %V 和 %1 等 shell 命令變數的更多信息,請參閱這個問題

相關內容