7-Zip右鍵建立壓縮刪除資料夾


原始問題

  • 想在Windows 11 檔案總管的右鍵選單中新增一個功能,即「加入<壓縮檔>.zip後刪除檔案」


問題解析

  • 第一部分「建立壓縮刪除資料夾的批次檔」,命名為 「FolderzipperDeleter.bat」
  • 第二部分則是將批次檔加到右鍵選單當中


一、建立壓縮刪除資料夾的批次檔

程式碼 

@ECHO OFF
REM 設定 7-zip 的安裝路徑
SET sevenZipPath="C:\Program Files\7-Zip\7z.exe"

REM 設定要壓縮的資料夾路徑
SET "folderPath=%~1"

REM 取得資料夾名稱 (不包含路徑)
FOR /F "delims=" %%I IN ("%folderPath%") DO (
    SET "folderName=%%~nxI"
)

REM 設定壓縮檔案名稱和路徑
SET "zipPath=%~dp1%folderName%.zip"

REM 使用 7-zip 壓縮資料夾成為 zip 檔案
%sevenZipPath% a "%zipPath%" "%folderPath%" -r

REM 刪除資料夾中的 batch 檔案
DEL "%folderPath%\*.bat"

REM 刪除來源資料夾及其內的所有檔案和子資料夾
RD /S /Q "%folderPath%"


程式碼說明

  • 將上述程式碼貼到記事本另存為 FolderzipperDeleter.bat 
  • 這個程式碼可以使用 7-zip 將指定的資料夾壓縮成 zip 檔案,並且可以自動刪除來源資料夾及其內的所有檔案和子資料夾。
  • 直接使用時,只需要將要壓縮的資料夾拖曳到 batch file 上即可。壓縮檔案會放在資料夾同一層目錄下,檔案名稱為原始資料夾名稱加上 ".zip"。
  • 要修改 7-zip 的安裝路徑,請將 sevenZipPath 變數中的路徑改為您的安裝路徑。
  • 請注意,這個 batch file 會刪除來源檔案夾及其內的所有檔案和子檔案夾。請確認您的操作,以避免不必要的損失。

----

二、將批次檔加入右鍵選單

法一、將批次檔放到右鍵 / 傳送到

  1. 打開檔案總管,路徑輸入 shell:sendto,然後按下 Enter 鍵
  2. SendTo 資料夾中,將 FolderzipperDeleter.bat 批次檔案複製到這個目錄中。

現在,當你在檔案總管中選取一個資料夾,按右鍵並選擇「Send to」時,你應該能夠看到 FolderzipperDeleter.bat 批次檔案出現在選單中。選擇該檔案將執行該批次檔案,按照你的程式碼進行壓縮和刪除操作。

法二、將批次檔透過登錄檔放到右鍵

  • 在登錄編輯器中,展開以下路徑:「 電腦\HKEY_CLASSES_ROOT\Directory\shell 」。
  • 在「shell」項目上按下滑鼠右鍵,選擇「新增」->「機碼」,並將名稱設為「FolderZipperDeleter」(或你喜歡的名稱,這將是右鍵選單中顯示的文字)。
  • 在「FolderZipperDeleter」項目上按下滑鼠右鍵,選擇「新增」->「機碼」,並將名稱設為「command」。
  • 選擇「command」項目,在右側窗格的「(預設)」上按兩下,將「數值資料」修改為「 C:\demo\FolderZipperDeleter.bat "%1"」(請確保「C:\demo\FolderZipperDeleter.bat」是你的批次檔案的實際路徑,並將其替換為你的檔案所在位置)。
  • 如果你希望為「FolderZipperDeleter」添加圖示,請在「FolderZipperDeleter」上按下滑鼠右鍵,選擇「新增」->「可擴充字串值」,並將名稱設為「Icon」。然後,雙擊「Icon」,在「數值資料」中輸入圖示檔的路徑(請使用 ICO 格式的圖示檔)

小泉

喜愛用文字說明自己眼中所見的一切

張貼留言

較新的 較舊

نموذج الاتصال