我正在製作一個將加密訊息的批次檔。我做到了,當我右鍵單擊該物件並單擊“測試”按鈕時,它會運行批次檔。
在regedit
我添加
Computer\HKEY_CLASSES_ROOT\*\shell\Test\command
命令的數據是
C:\Users\%username%\Desktop\encrypt.bat
我需要對資料(在我新增的註冊表項中)執行什麼操作以及它在我的變數中儲存什麼?
答案1
您需要將要在該類型上啟動的腳本與該文件類型相關聯。在Windows上,這一切都是基於擴展的(至少在XP上,我不知道7,但我懷疑它已經改變)。假設您的檔案副檔名是“.abc”,您的應用程式是:
c:\program files\dummy\process.bat
(我暫時刪除了該變量,我不確定它在 .reg 檔案中的行為如何)
因此,只需編輯一個包含以下內容的 config.reg 文字檔案:
Windows Registry Editor Version 5.00
; the extension .abc gets associated with a file type
[HKEY_CLASSES_ROOT\.abc]
@="abc-file"
; the file-type gets a name (that appears in explorer in field "type")
[HKEY_CLASSES_ROOT\abc-file]
@="foo file"
; What will appear in the contextual menu when selecting an .abc file
[HKEY_CLASSES_ROOT\abc-file\shell\cmdname-1]
@="--- Process ! ----"
; What to do with it
; here, %1 is the file given as argument of the script
[HKEY_CLASSES_ROOT\abc-file\shell\cmdname-1\command]
@="\"c:\\program files\\dummy\\process.bat\" \"%1\""
最後導入即可。你完成了。
補充評論:
- 所有奇怪的引號和反斜線都是為了正確處理帶有空格的名稱。是的,我現在,沒有人在檔案名稱中包含空格。無論如何,這種事發生了!
- 當然,您可以對一種文件類型使用多個命令。只要複製 .reg 的最後兩個鍵(cmdname-1 ==> cmdname-2)
- 您也可以將不同的檔案副檔名關聯到相同檔案類型。例如,HTML 檔案可以有 .htm 或 .html
- 您甚至可以將操作與資料夾關聯。將檔案類型替換為“資料夾”
- 提供“卸載”功能可能很有用。只需建立另一個 reg 檔案並在建立的金鑰前加上「-」前綴即可。