有3个文件夹。需要检查文件夹 1 中存在的文件名是否已存在于文件夹 2 中。如果文件夹 2 中的文件名不存在,则将文件从文件夹 1 移动到文件夹 3。如果文件夹 2 中存在文件名,则不执行任何操作。
尝试过这个脚本。但我现在看到它会检查第二个文件夹中的任何 .pdf 文件,因此如果它在第二个文件夹中看到任何 .pdf 文件,它只会将所有文件从第一个文件夹移动到第三个文件夹。我认为需要检查名称是否完全相同,但不确定如何继续。
@echo off
title test
ping localhost -n 2 > nul
cd "C:\test"
@echo off &setlocal
set "firstFolder=C:\test\firstsource"
set "destination=C:\test\destination"
set "secondfolder=C:\test\secondsource"
set suffix=.pdf
for %%i in ("%firstfolder%\*%suffix%") do (
IF NOT EXIST "%secondfolder%%%~i%suffix%" (
move /y "%%~i" "%destination%"
echo "moving 1 file"
) ELSE (
ECHO "file exists"
)
)
pause
endlocal
[未经测试]
IF NOT EXIST "%secondfolder%\%%~nxi" (
选择文件名的n名称和ex张力为
%secondfolder%
请参阅文档提示中的
for /?