我需要帮助解决下一个问题。 我有两个目录D1和D2,都有一个subdir和文件树。两者都相似,但D1的文件多于D2,这些是垃圾文件。
我想要一个批次:
感谢您的帮助。
答案 0 :(得分:0)
首先检查文件夹(反向排序以避免当前文件夹已被删除)
@Echo off &Setlocal EnableDealyedExpansion
Set "D1=Q:\Test\2017\08\"
Set "D2=C:\Test\2017\08\"
For /f "delims=" %%A in ('Dir /B/S/AD ^| Sort /r') Do (
Set "ThisDirD1=%%A"
Set "ThisDirD2=!ThisDirD1:%D1%=%D2%!"
if Not Exist "!ThisDirD2!" (
Echo Deleting !ThisDirD1! as !!ThisDirD2! doesn't exist
Echo RD /Q /Y "!ThisDirD1!"
)
)
如果输出看起来没问题,请删除RD
命令前面的回显。
For /f "delims=" %%A in ('Dir /B/S/A-D ') Do (
Set "ThisFileD1=%%A"
Set "ThisFileD2=!ThisFileD1:%D1%=%D2%!"
if Not Exist "!ThisFileD2!" (
Echo Deleting !ThisFileD1! as !!ThisFileD2! doesn't exist
Echo Del "!ThisFileD1!"
)
)