
我想在 Windows 7 中建立一個上下文相關的右鍵單擊上下文功能表選項,並且可以將特定文件/資料夾的名稱傳遞給 shell 腳本。
我知道這一定是可能的- 例如,如果您有一個7zip 文件,您可以右鍵單擊它,然後說“在此處提取”,然後目標(.7z 存檔)就會以某種方式傳遞給7zip 程序。
特別是,我有一個腳本,它接受 .c 檔案並將其填充到 LaTeX 清單中,並執行 pdflatex 來產生格式良好的檔案以供閱讀。但是,我必須將該文件指定為命令列參數。我想做的是,這樣我就可以右鍵單擊一個檔案並自動執行此腳本,將右鍵單擊目標的路徑自動傳遞到命令列參數。
答案1
歡迎來到超級用戶!
這將需要註冊表編輯來完成,這取決於您是否要為所有文件、僅特定擴展名的文件、資料夾或兩者添加此項目。
開啟登錄編輯程式並導航至HKEY_CLASSES_ROOT
.您會在這裡看到一堆檔案副檔名 - 這是控制上下文選單的內容。
無論您將該選單項目附加到什麼位置,新增處理程序都是相同的過程,重要的是您將其放在註冊表中的位置。
流程如下:
shell
在您要新增的內容的密鑰下建立一個新密鑰。- 如果您希望此選單項目具有圖標,請新增名為
Icon
您剛剛建立的鍵的字串,並將圖標的路徑作為值。 - 新增密鑰在下面您建立的項目名為
command
- 修改此鍵下的(預設)條目以指向要開啟的腳本,在
"%1"
傳遞給程式的檔案名稱應位於其命令列中的位置新增。
至於這個新選單項目該放在哪裡?如果你想讓它顯示...
- 對於某一副檔名的所有文件,將其放在符合的副檔名下(如果不存在,可以建立一個)。
- 對於所有地方的文件,將其放在
*
密鑰下 - 對於所有目錄,將其放在該
Directory
鍵下。