下面的脚本通过一个文件夹及其子文件夹搜索,然后将每个文件与第二个文件夹中的文件进行比较。如果找到,它回显是一条消息,说明文件被找到了。
我的问题是如何增强这个脚本来搜索第二个文件夹及其子文件夹中的文件?我只关心扩展名(我不关心它在哪个文件夹/子文件夹中找到,只是一个重复的文件存在并导致编译器错误)。
我认为其中一种方法是将所有文件名输出到一个文件中,然后将该文件作为第二部分的输入并通过第二个文件夹循环,但我确信一定会有一个更干净的方法。
O/S: Windows 2003
:bof
rem @echo off
cls
setlocal
:init
set dirA=X:\tst\pfsrc\
set dirB=X:\tst\cbsrc\
if not exist "%dirA%" echo dirA not found & goto :EOF
if not exist "%dirB%" echo dirB not found & goto :EOF
for /f "delims=" %%I in ('dir /b /a:-d /s "%dirA%" 2^>NUL') do if exist "%dirB%%%~nxI" echo %%~nxI does exist in "%dirB%"
:eof发布于 2014-04-30 09:32:22
谢谢你让我走上正确的轨道:-)代码现在起作用了
:bof
@echo off
cls
setlocal
:init
set dirA=X:\tst\pfsrc\
set dirB=X:\tst\cbsrc\
if not exist "%dirA%" echo dirA not found & goto :EOF
if not exist "%dirB%" echo dirB not found & goto :EOF
for /f "delims=" %%I in ('dir /b /a:-d /s "%dirA%" 2^>NUL') do for /r "%dirB%" %%d in (%%~nxI) do if exist "%%d" echo %%d
:eof发布于 2014-04-30 08:55:56
这个节选将尝试递归地在%%a的所有目录中找到%dirB%。
for /d /r %%d in (%dirB%\*) do (
if exist "%%d\%%~nxa" echo %%d\%%~nxa
)https://stackoverflow.com/questions/23383527
复制相似问题