答案1
cd /d "c:\dir_B" && for %i in (*)do if exist "C:\Dir_A\%~nxi" echo\Del "%~i" /q /f
1.转到 Dir_B 文件夹:pushd "D:\Dir_B"
2.使用一个简单的 for 循环列出你的文件:for %i in (*)do...
3.测试 Dir_A 文件夹中是否存在您的文件:if exist "D:\Dir_A\%~nxi"
4.如果最后一个命令返回 true,则删除当前 Dir_B 中的该文件:del "%~fi"
- 在命令行中:
@(pushd "D:\Dir_B" && (for %i in (*)do if exist "D:\Dir_A\%~nxi" del "%~fi")) & popd
- 在bat文件中:
@(pushd "D:\Dir_B" && (for %%i in (*)do if exist "D:\Dir_A\%%~nxi" del "%%~fi")) & popd
dir
使用and 运算符的一个选项&&
@(pushd "D:\Dir_B" && (for %i in (*)do 2>nul 2>&1 dir /b "D:\Dir_A\%~nxi" && del "%~fi")) & popd
@echo off
set "_SourceDir=C:\Users\Steve\Desktop\Barnes 330 Discovery Recd 2018-20-15\KV Emails\Source"
set "_DestDir=C:\Users\Steve\Desktop\Barnes 330 Discovery Recd 2018-20-15\KV Emails\SourceDupes"
cd /d "%_SourceDir%" && for %%a in (*.*)do if exist "%_DestDir%\"%%~nxa" 2>nul del /q /f "%%~dpnxa"