批处理文件以压缩具有特定文件类型的文件夹内的文件

时间:2016-12-22 15:06:01

标签: batch-file zip

我需要一个批处理文件来压缩具有特定文件类型的文件夹中的文件。文件类型是(.asc)。

有人可以帮我纠正下面的代码吗?

感谢。

for /r "C:\Test_Results\Report_%Date:~-10,2%_%Date:~-7,2%_%Date:~-4,4%" %%G in (.asc*)do (  
  if /i "%%~nxa"==".asc" (
    pushd "%%a"
    REM zip all files in the backup directory  
    FOR %%A IN (*.asc* *.cpi*) DO "C:\Program Files\WinRAR\WinRAR.exe" a -r "%%~nA.rar" "%%A"
    FOR %%A IN (*.asc *.cpi) DO DEL "%%A"
    popd 
  )
)

1 个答案:

答案 0 :(得分:0)

下面的代码在名为Logfile的任何文件夹中压缩文件。这很好但我现在需要做一些不同的事情(如第一篇文章中所述)。

@ J.Baoby,我已将.asc*更改为*.asc,但我仍然遇到压缩文件的问题。我实际上不确定 FOR 循环后的 IF 语句是做什么的。这需要吗?

@echo 1.此步骤将在C:\ TestReports \ Report_today的日期下拉出名称为Logfile的任何文件夹中的所有文件。

for /d /r "C:\TestReports\Report_%Date:~-10,2%_%Date:~-7,2%_%Date:~-4,4%" %%a in (Logfile*) do (  
    if /i "%%~nxa"=="Logfile" (
        pushd "%%a"
        REM zip all files in the backup directory
        FOR %%A IN (*.blf* *.cpi*) DO "C:\Program Files\WinRAR\WinRAR.exe" a -r "%%~nA.zip" "%%A"
        FOR %%A IN (*.blf *.cpi) DO DEL "%%A"
        popd 
    )
)