我正在尝试使用批处理文件和“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"
进一步阅读: