Batch file 如何使用特定名称压缩文件夹中的所有子文件夹
我希望找到所有文件夹的名称“日志文件”内略有不同的文件夹结构。例如,如何在C:\ECU\ECU1\Logfile、C:\ECU\ECU2\Logfile、C:\ECU\ECU3\Logfile和C:\ECU\ECU4\Logfile中找到日志文件文件夹?然后,我想在每种情况下压缩此文件夹的.txt内容。我目前有一个批处理文件正在运行,它允许我压缩文件夹的内容,该文件夹每次都具有相同的文件夹结构,但需要将以上所有内容组合在一起。任何帮助都会很好 谢谢Batch file 如何使用特定名称压缩文件夹中的所有子文件夹,batch-file,Batch File,我希望找到所有文件夹的名称“日志文件”内略有不同的文件夹结构。例如,如何在C:\ECU\ECU1\Logfile、C:\ECU\ECU2\Logfile、C:\ECU\ECU3\Logfile和C:\ECU\ECU4\Logfile中找到日志文件文件夹?然后,我想在每种情况下压缩此文件夹的.txt内容。我目前有一个批处理文件正在运行,它允许我压缩文件夹的内容,该文件夹每次都具有相同的文件夹结构,但需要将以上所有内容组合在一起。任何帮助都会很好 谢谢 @echo off pushd "C:\EC
@echo off
pushd "C:\ECU\ECU2" || goto :eof
REM zip all files in the backup directory
FOR %%A IN (*.TXT*, *.cpi*) DO "C:\Program Files\WinRAR\WinRAR.exe" a -r "%%~nA.zip" "%%A"
FOR %%A IN (*.TXT,*.cpi) DO DEL "C:\ECU\ECU2.cpi*" "%%A"
popd
首先尝试此测试,查看它是否打印正确的文件夹:
@echo off
for /d /r "c:\ecu" %%a in (target*) do (
if /i "%%~nxa"=="target" (
echo "%%a"
)
)
pause
如果没有问题,那么应该可以用虚拟文件测试它,但是您的DEL
命令在第一个术语中是奇怪的。我用可能有用的东西代替了它
@echo off
for /d /r "c:\ecu" %%a in (target*) do (
if /i "%%~nxa"=="target" (
pushd "%%a"
REM zip all files in the backup directory
FOR %%A IN (*.TXT* *.cpi*) DO "C:\Program Files\WinRAR\WinRAR.exe" a -r "%%~nA.zip" "%%A"
FOR %%A IN (*.TXT *.cpi) DO DEL "%%A"
popd
)
)