我需要一个批处理文件来压缩具有特定文件类型的文件夹中的文件。文件类型是(.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
)
)
答案 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
)
)