2011-01-20 80 views
1

在一個Windows Env上,我試圖找到一種方法遞歸檢查dirtree中的所有文件,以查看它們的文件名/大小是否與另一個目錄中的文件列表匹配如果他們這樣做的目錄存在,那麼其上運行的文件命令時發現遞歸運行一個命令,並檢查它是否存在

Psudocode:

Loop{ 
If(RecursivelyFindFiles() = FileInFileListingInResources()) { 

DoCommand(cmd1 -D -R -N %FoundFile C:\resources\%Filename) 

} 

} 

我知道我想要什麼,只是不知道如何做到這一點在Windows信封

回答

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的結果,你可以調用你的處理。

對不起,我承認我必須在這裏停下來!

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\包含原型文件。

+0

哇,好像你已經做到了:)我今天已經學習了關於批處理文件的一些東西! – TridenT 2011-01-21 20:42:11

相關問題