因很多圖片要上傳雲端 (比如10萬張)
怕資料被雲端公司MIS竊取 所以會把檔案壓縮+密碼
問題: 想知道有無方法可指定一個壓縮檔案內含500個資料
我不必500 500 500的一次次去框選壓縮
我不想用壓縮檔自動照大小(比如1G)去分割
或是在AAA資料夾下 我建立 01 02 03 04 05 06....等資料夾
有無方法可批次將 01 02 ....直接製作成壓縮檔=資料夾名稱
(這方法可行 以自行補腦)
謝謝了
4/15 感謝wusun大大 提供bat使用
天空一片雲 wrote:
問題1: 想知道有無方法可指定一個壓縮檔案內含500個資料
我不必500 500 500的一次次去框選壓縮
我不想用壓縮檔自動照大小(比如1G)去分割
這個不知道可不可以用下面這個方法,給您個方向,您研究看看

我在WinRAR說明看到這2段
| 開關:-N<檔案> - 進階篩選的檔案-------------------------------------------------------------------------------- 應用遮罩作為進階的篩選器,以包含檔案清單。萬用字元可以同時應用於名稱及內含檔案的檔案遮罩。您可以重複多次使用 \'-n\' 開關。這個開關不能取代一般的檔案遮罩。檔案仍然要寫在指令行中。這只是另一個控制檔案處理的開關,只處理符合 -n 開關規定的檔案。有時候可以節省指令的長度。 例如,如果您要壓縮在資料夾 Project 及 Info 中,所有 *.txt 及 *.lst 檔案,您可以輸入: WinRAR a -r text Project\*.txt Project\*.lst Info\*.txt Info\*.lst 或使用 -n 開關: WinRAR a -r -n*.txt -n*.lst text Project Info |
| 開關:-N@<清單檔> - 從清單檔案讀取進階篩選遮罩 -------------------------------------------------------------------------------- 跟 -n<檔案> 開關很像,但是從列出檔案讀取篩選遮罩。 範例: WinRAR a -r -n@inclist.txt text Project Info |
如果在這個指令-N@<清單檔>裡面輸入500個檔案名稱清單
例如:00001.jpg .....一直到..... 00500.jpg
WINRAR似乎就會依照這個清單下去壓縮了
天空一片雲 wrote:
問題2: 或是在AAA資料夾下 我建立 01 02 03 04 05 06....等資料夾
有無方法可批次將 01 02 ....直接製作成壓縮檔=資料夾名稱
這個比較簡單,也確定可行,下面這張圖就可說明一切

RarFixedSizePack.bat
| @echo off setlocal EnableDelayedExpansion set RarPassword=YourPassword set RarTargetFolder=C:\AAA set /a Rar_Pack_Size=500 set RarCommand=C:\Program Files\WinRAR\Rar.exe set TempList=%temp%\RarCount.lst set /a File_Count=0 set /a File_Summary=0 if EXIST "%TempList%" del "%TempList%" for /f "delims=" %%i in ('dir /a:-d /b /s "%RarTargetFolder%\*.*"') do ( echo %%i>>"%TempList%" set /a File_Count+=1 if !File_Count!==%Rar_Pack_Size% ( set /a RarFileName=!File_Summary!+1 set /a File_Summary+=!File_Count! set RarFileName=!RarFileName!_!File_Summary!.rar "%RarCommand%" a -p%RarPassword% !RarFileName! @"%TempList%" set /a File_Count=0 del "%TempList%" ) ) ::處理剩下的檔 if !File_Count! NEQ 0 ( set /a RarFileName=!File_Summary!+1 set /a File_Summary+=!File_Count! set RarFileName=!RarFileName!_!File_Summary!.rar "%RarCommand%" a -p%RarPassword% !RarFileName! @"%TempList%" set /a File_Count=0 del "%TempList%" ) pause |
內文搜尋
X



























































































