无论如何,使用另一个文件夹的内容作为参考,用.bat 文件删除唯一的文件?

无论如何,使用另一个文件夹的内容作为参考,用.bat 文件删除唯一的文件?

我正在尝试使用批处理文件和“FolderB”作为参考从“FolderA”中删除文件。

例如:

C:\文件夹A C:\文件夹B
项目1 项目1
项目2 项目2
项目3

由于 FolderB 没有 Item3,因此它在 FolderA 中被删除

现在我有一个 .bat 文件,它可以使用简单的 xcopy 行将内容从 FolderB 复制到 FolderA,但是如果 FolderB 获得更新而删除了某个项目,我不知道如何使用相同或不同的 .bat 文件删除这些项目。

答案1

@echo off && cd/d "F:\2021-SU\Q1631994\FolderA\" 

for %%i in (*)do if not exist "F:\2021-SU\Q1631994\FolderB\%%~nxi" (
     del/q /f "%%~fi") else copy/y "%%~i" "F:\2021-SU\Q1631994\FolderB\%%~nxi"

1.输入您要删除或复制文件的文件夹:

@echo off && cd/d "F:\2021-SU\Q1631994\FolderA\" 

使用该文件夹 (FolderA) 内的文件

2.使用该文件夹 (.\FolderA) 内的文件列出您的文件:

for %%i in (*)do... 

3.实现 if() else () 条件来检查 FolderB 中是否存在相同的文件:

... if not exist "F:\2021-SU\Q1631994\FolderB\%%~nxi" (...

4.对于每个条件,通过循环删除或复制文件分别操作:

 del/q /f "%%~fi") else copy/y "%%~i" "F:\2021-SU\Q1631994\FolderB\%%~nxi"

相关内容