[英]Windows Batch:Count the number of files deleted using forfiles command
[英]Using FOR or FORFILES batch command to individually archive specific files
我在不同的目录和子目录中有一组.iso文件:
<folder1>
app1.iso
app2.iso
app3.iso
<subfolder1>
app1a.iso
app2a.iso
<subfolder2>
app2b.iso
app3b.iso
<folder2>
app4.iso
app5.iso
<subfolder5>
app20.iso
我希望使用一个批处理文件并预安装7-zip(配置了PATH环境变量),我希望能够将每个.iso归档到它自己的单独的.7z归档文件中。 我不想将当前文件夹中的所有.iso存档到一个存档中。
我试图与FORFILES一起创建自己的7-zip命令:
FORFILES /P . /M *.iso /S /C "cmd /c 7z a -t7z @path.7z -mx9 -mmt >> C:\test\7z-log.txt"
但是,这样做是:
app1.iso.7z - contains: app1.iso, app2.iso, app3.iso
app2.iso.7z - contains: app1.iso.7z, app1.iso, app2.iso, app3.iso
app3.iso.7z - contains: app1.iso.7z, app2.iso.7z, app1.iso, app2.iso, app3.iso
app1a.iso.7z - contains: app1a.iso, app2a.iso
app2a.iso.7z - contains: app1a.iso.7z, app1a.iso, app2a.iso
...
我想要的是(每个位于其相关的文件夹或子文件夹中):
app1.iso.7z - contains: app1.iso
app2.iso.7z - contains: app2.iso
app3.iso.7z - contains: app3.iso
app1a.iso.7z - contains: app1a.iso
...
谁能帮我批处理命令?
@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
FOR /f "delims=" %%a IN (
'dir /s/b /a-d "%sourcedir%\*.iso" '
) DO (
ECHO(7z a -t7z "%%~fa.7z" "%%~fa" -mx9 -mmt
)
GOTO :EOF
您需要更改sourcedir
的设置以适合您的情况。
所需7Z命令仅仅ECHO
编用于测试目的。 验证命令正确无误后 ,将ECHO(7z
更改为7z
即可实际存档文件。
请注意,缺少日志重定向。 这样做是为了使建议的操作显示在屏幕上。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.