如何检查两个文件名是否存在于不同文件夹中

问题描述 投票:0回答:1

有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
windows batch-file cmd
1个回答
0
投票

[未经测试]

IF NOT EXIST "%secondfolder%\%%~nxi" (

选择文件名的n名称和ex张力为

%secondfolder%

请参阅文档提示中的

for /?

© www.soinside.com 2019 - 2024. All rights reserved.