删除目录 B 中也存在于目录 A 中的文件

删除目录 B 中也存在于目录 A 中的文件

这一页已经说明了如何删除目录 B 中也存在于目录 A 中的文件。

我想使用 Windows 解决方案,但不进行复制。

有人能告诉我如何编辑 FOR 行以进行比较然后删除吗?谢谢。

答案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"

相关内容