Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何使用特定名称压缩文件夹中的所有子文件夹_Batch File - Fatal编程技术网

Batch file 如何使用特定名称压缩文件夹中的所有子文件夹

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

我希望找到所有文件夹的名称“日志文件”内略有不同的文件夹结构。例如,如何在C:\ECU\ECU1\Logfile、C:\ECU\ECU2\Logfile、C:\ECU\ECU3\Logfile和C:\ECU\ECU4\Logfile中找到日志文件文件夹?然后,我想在每种情况下压缩此文件夹的.txt内容。我目前有一个批处理文件正在运行,它允许我压缩文件夹的内容,该文件夹每次都具有相同的文件夹结构,但需要将以上所有内容组合在一起。任何帮助都会很好

谢谢

@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 
)
)