-1

我的数据中心的子目录中有大量的 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

我应该在上面添加什么命令?

4

1 回答 1

0

您已经了解该ForFiles命令,并在DosTips上的重复问题中提及它;那么为什么不使用它呢?

PushD "\\server\pdf" 2>Nul && (
    ForFiles /S /M *.pdf /D 0 /C "Cmd /C If Exist \"%UserProfile%\Desktop\F1\@File\" If Not Exist \"%UserProfile%\Desktop\F3\@File\" Move \"%UserProfile%\Desktop\F1\@File\" \"%UserProfile%\Desktop\F3\""
    PopD)

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

于 2018-09-02T10:53:05.030 回答