
[已解決]批處理中批量壓縮文件夾時無法識別長文件名批量壓縮文件
我從網上找到這個代碼,bat 可以批量壓縮每個文件夾到每個單獨的壓縮文件,問題是壓縮時許多長文件名的文件夾無法識別,漏壓很多文件夾,如何解決呢[ 最后由 csjssdhy 于 2009-7-6 10:27]nclick="copycode($('code0'));">復制代碼
- @echo off
- title 憶林子--批量壓縮rar文件
- color 0a
- rem *********************************************************
- rem在注冊表中讀取winrar的安裝目錄
- rem 如果已經存在臨時文件,把它刪除
- if EXIST tmp.憶林子 del tmp.憶林子
- rem 查詢注冊表中的winrar的路徑值,并把它發送到臨時文件中
- reg query HKLMSOFTWAREMicrosoftWindowsCurrentVersionApp PathsWinRAR.exe /v path>>tmp.憶林子
- rem 用For命令從臨時文件中讀取winrar的路徑值,并把它保存到變量 WinRAR 中
- for /f tokens=1,2,* skip=4 delims= %%j in ('more tmp.憶林子') do set WinRAR=%%l
- rem 如果已經存在臨時文件,把它刪除
- if EXIST tmp.憶林子 del tmp.憶林子
- rem *********************************************************
- rem 用dir命令列出當前目錄下的所有目錄
- rem 并把它發送到for循環中,然后在for循環中調用壓縮的子過程
- for /f delims= %%i in ('dir /ad /b') do call :ss %%i
- cls
- echo ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- echo.
- echo 操作成功結束,請按任意鍵退出該批處理...
- echo.
- echo ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- PAUSE>nul
- exit
- :ss
- set var=%*
- rem 即 rar a -r 壓縮后的文件名.rar 目錄名
- %WinRAR%rar a -r %var%.rar %var%
- EndLocal

