在Windows环境中,我试图找到一种方法来递归检查dirtree中的所有文件,看看它们的文件名/大小是否与另一个目录中的文件列表匹配,如果它们确实存在于目录中,那么它在找到的文件上运行命令
Psudocode:
Loop{
If(RecursivelyFindFiles() = FileInFileListingInResources()) {
DoCommand(cmd1 -D -R -N %FoundFile C:\resources\%Filename)
}
}
我知道自己想要什么,只是不知道如何在Windows环境中进行操作
答案 0 :(得分:1)
@echo off
for /r %root% %%f in (*.*) do if exist ..\folder\%%~nxf call :furthertests %%f folder\%%~nxf
goto :eof
:furthertests
echo %1 found
if not "%~z1"=="%~z2" goto :eof
echo file sizes match (%~z1 bytes)
@rem Do your stuff with %1 here
@rem ...
假设%root%
是搜索树的开头,..\folder\
包含原型文件。
答案 1 :(得分:0)
这是一个开始!
@echo off
rem %1 First folder
rem %2 Other folder to compare
FOR /R %1 IN (*.*) DO echo %%G
echo Done!
而不是echo %%G
,您可以调用fc %%G ABC
这是一个filecompare exe。但我不知道如何格式化 ABC 作为文件夹2(%2)的路径+ %% G的基本文件名。
之后,对if
的结果进行fc
测试,您可以致电处理。
对不起,我承认我必须到此为止!