【发布时间】:2017-02-06 10:10:35
【问题描述】:
我的最终目标是一举从顶层目录单独压缩主文件夹的子文件夹。所以想象一下这个结构
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] 高清电视
为了让脚本的其余部分执行而将子文件夹名称写入第二个文本文件,我需要进行哪些更改?
【问题讨论】:
标签: windows batch-file 7zip