我正在嘗試向 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 命令變數的更多信息,請參閱這個問題。