2017-02-06 43 views
0

我的最終目標是從頂層目錄一次單獨壓縮主文件夾的子文件夾。所以想象這個結構文件夾名稱中導致批處理文本文件中列出的子目錄失敗的空間

Top-Folder 
    -Bob 
    --Folder-1 
    -Steve 
    --Folder-1 
    --Folder-2 
    -Tim 
    --Folder-1 

從頂部文件夾,我想運行一個批處理腳本,單獨壓縮每個子文件夾。所以在上面的例子中,我會爲每個子文件夾提供四個zip文件。他們將駐留在原始文件夾旁邊。

folder-1.zip(來自Bob)

folder-1.zip(從史蒂夫)

folder-2.zip(從史蒂夫)

folder-1.zip(從TIM)

我有這個至今:

if exist list.txt del list.txt 
    if exist subfolders.txt del subfolders.txt 
    REM create list of all users (top folders) 
    dir "F:\Top-Folder" /AD /B >list.txt 
    REM create list of all subfolders 
    for /F "delims=" %%i in (list.txt) do dir %%i /AD /S /B >> subfolders.txt 
    REM now you have all subfolders in subfolders.txt so you can zip them one by one 
    for /F "delims=" %%X in (subfolders.txt) do "c:\Program Files\7-Zip\7z.exe" a "%%X.zip" "%%X\" 

通過簡單的測試文件夾的名稱,這是成功的。然而,對於我的真實文件夾名稱,雖然list.txt是使用頂級文件夾名稱生成的,但不會創建subfolders.txt,並且不會發生壓縮。

實際文件夾結構/名稱的實例:

2005-05-11 - Tappehallerne,哥本哈根/ [AUD#1] MD(M) - CDR(1)

2005-05-11 - Tappehallerne,哥本哈根/ [PRO#1b] HDTV

我需要更改哪些子文件夾名稱寫入第二個文本文件以供腳本的其餘部分執行?

回答

1
for /F "delims=" %%i in (list.txt) do dir "%%i" /AD /S /B >> subfolders.txt 

你需要「引用名稱」,否則dir查找「引用」和「the」和「名」

相關問題