Batch file 批处理以搜索和移动特定类型的重复文件

Batch file 批处理以搜索和移动特定类型的重复文件,batch-file,for-loop,datemodified,Batch File,For Loop,Datemodified,在我的数据中心的子目录中有大量的pdf文件。在本地文件夹中,我想检查现有文件是否已在数据中心的目录中,如果是,则将其移动到另一个本地文件夹。 我想将我的搜索过滤到今天已修改的.pdf文件,否则数据中心子目录中的整个搜索过程需要花费很长时间 @echo off pushD \\server\pdf for /r %%i in ( *.pdf ) do ( if exist "%userprofile%\desktop\F1\%%~nxi" ( move /y "%userprofile%\desk

在我的数据中心的子目录中有大量的pdf文件。在本地文件夹中,我想检查现有文件是否已在数据中心的目录中,如果是,则将其移动到另一个本地文件夹。 我想将我的搜索过滤到今天已修改的.pdf文件,否则数据中心子目录中的整个搜索过程需要花费很长时间

@echo off
pushD \\server\pdf
for /r %%i in ( *.pdf ) do (
if exist "%userprofile%\desktop\F1\%%~nxi" ( move /y "%userprofile%\desktop\F1\%%~nxi" %userprofile%\desktop\F3 
) else echo File %%~nxi is not a duplicate
)
popD
pause

对于命令,我应该向上面添加什么?

您已经了解了
for files
命令,并在上的重复问题中提到了它;那么为什么不使用它呢

PushD”\\server\pdf“2>Nul&&(
ForFiles/S/M*.pdf/D 0/C“Cmd/C如果存在\%UserProfile%\Desktop\F1\@File\”如果不存在\%UserProfile%\Desktop\F3\@File\“移动\%UserProfile%\Desktop\F1\@File\”\%UserProfile%\Desktop\F3\”
(PopD)

如果愿意,您可以使用
Move
/Y
选项,或者您可以忘记
If Exist
,只抑制错误消息,但总体思路应该适合您

请尽量更好地解释这项任务,当我们对它应该做什么感到满意时,帮助编写代码就容易多了。您可以通过,来包含这些信息,最好包括正在处理的目录树的示例
MAXAGE
MAXLAD
,再加上
/MOV
可能正是您所需要的。
/MIR
实际上可能更适合您的需要,如果您真正想做的只是复制目标文件夹中缺少的文件。顺便说一下,不需要循环。我想比较F1和\\server\pdf子目录中的文件,如果F1中的文件存在,则必须在本地将它们从F1移动到F3。如果我没有完全弄错的话,我认为你的建议不适合这里。