Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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
Windows 如何排除在主文件中压缩子文件?_Windows_Batch File_Cmd_Batch Processing - Fatal编程技术网

Windows 如何排除在主文件中压缩子文件?

Windows 如何排除在主文件中压缩子文件?,windows,batch-file,cmd,batch-processing,Windows,Batch File,Cmd,Batch Processing,这将是从压缩中排除“C:\Users\Downloads\back\temp”的文件夹 @ECHO OFF SET hr=%time:~0,2% IF %hr% lss 10 SET hr=0%hr:~1,1% Set TODAY=%date:~4,2%-%date:~7,2%-%date:~10,4%-%hr%%time:~3,2%%time:~6,2%%time:~9,2% ECHO. ECHO. 将当前文件夹更改为基本文件夹,并使用-x开关: 7za.exe a -

这将是从压缩中排除“C:\Users\Downloads\back\temp”的文件夹

 @ECHO OFF
 SET hr=%time:~0,2%
 IF %hr% lss 10 SET hr=0%hr:~1,1%


 Set TODAY=%date:~4,2%-%date:~7,2%-%date:~10,4%-%hr%%time:~3,2%%time:~6,2%%time:~9,2%
 ECHO.


 ECHO.
  • 将当前文件夹更改为基本文件夹,并使用
    -x
    开关:

     7za.exe a -tzip "C:\Users\Desktop\Downloadbak-%TODAY%.zip" "C:\Users\Downloads\back*" -mx5
     ECHO.
    
     PAUSE
    
  • 或者将
    dir
    输出到
    find
    以排除文件夹名称,并将结果用作7zip的列表文件:

    pushd C:\Users\Downloads\back
    7za.exe a -tzip -mx5 -x!temp -x!exclude2 "C:\Users\Desktop\Downloadbak-%TODAY%.zip" *
    popd
    

  • 成功了,谢谢!如何对多个文件或文件夹执行此操作?假设排除:C:\Users\Downloads\back\temp和C:\Users\Downloads\back\temp2和C:\Users\Downloads\back\temp3?只需添加另一个
    -x开关或第2种方法的
    /c:
    pushd C:\Users\Downloads\back
    dir /b /a | findstr /i /v /r /c:"^temp$" >"%temp%\listfile"
    7za.exe a -tzip -mx5 "C:\Users\Desktop\Downloadbak-%TODAY%.zip" @"%temp%\listfile"
    del "%temp%\listfile"
    popd