如何透過在資源管理器中右鍵單擊將腳本套用到特定檔案/資料夾(對於 UNC 路徑)

如何透過在資源管理器中右鍵單擊將腳本套用到特定檔案/資料夾(對於 UNC 路徑)

我正在尋找一種方法,透過右鍵單擊 Windows 資源管理器中的檔案並選擇“應用腳本 XYZ”,將 cmd 或 powershell 腳本套用到某個檔案。

一個用例是對文件進行寫入保護,因此我的批次文件將包含:

attrib +r %filename%

其中%filename%是我在資源管理器中右鍵單擊的檔案的名稱。

目前,單一文件可以解決問題,但我也有興趣將其應用於多個文件(透過選擇資料夾中的多個文件)和整個資料夾(透過選擇資料夾)。

該解決方案應該適用於 Windows 10,如果可能的話,也適用於 UNC 路徑和 Windows 7。

編輯:到目前為止,我設法完成了 UNC 路徑之外的所有工作,此範例適用於文件(使用這個來源這個來源):

註冊表項:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\SomeName]
@="NameOfTheMenueItem"
"icon"="someicon.ico"

[HKEY_CLASSES_ROOT\*\shell\SomeName\command]
@="\"X:\\folder\\batchfile.cmd\" \"%1\""

批次檔:

set filepath=%1
attrib +r %filepath%

批次檔(對於資料夾):

set folderpath=%1
attrib +r %folderpath%\*.*

剩餘問題:

  • 我需要它才能適用於 UNC 路徑
  • 將資料夾路徑返回不帶“”的批次文件,以便將其更改為"X:\folderpath\*.*"(目前我得到"X:\folderpath"作為返回值,雖然只是添加\*.*工作但結果"X:\folderpath"\*.*看起來不太好,不確定在某些時候是否會出現任何問題)
  • 為所選資料夾的所有檔案和子資料夾建立遞歸寫保護

相關內容