2012-05-02 91 views
0

我想要做的事情如下。 我想創建一些bat文件,它將遞歸搜索從當前目錄開始的文件,並替換爲我提供的文件。例如。如果我想搜索並替換test1.txt,我打開這個迷你應用程序並編寫text1.txt,並放置要替換的文件。遞歸查找和替換文件

  • 迪爾
    • app.bat
    • test1.txt的//應用程序將遞歸文件夾1和文件夾2內搜索,將與test1.txt的
    • 文件夾1
    • 替換所有找到的結果文件夾2

我在想,如果有準備出於這個原因去應用程序或bat文件?

回答

9

下面開始時的分批文件從當前目錄,遞歸搜索在所述第一參數指定的文件,並複製在其上(具有相同名稱)的第二個參數給出的文件:

@echo off 
set targetName=%~NX1 
set replacementFile=%~F2 
call :processFolder 
goto :EOF 

:processFolder 
rem For each folder in this level 
for /D %%a in (*) do (
    rem Enter into it, process it and go back to original 
    cd %%a 
    if exist "%targetName%" (
     copy "%replacementFile%" "%targetName%" /Y 
    ) 
    call :processFolder 
    cd .. 
) 
exit /B 

例如:

app test1.txt c:\data\replacementfile.txt