1

我想做的是跟随。我想创建一些 bat 文件,它将递归搜索从当前目录开始的文件并替换为我提供的文件。例如。如果我想搜索和替换 test1.txt,我打开这个迷你应用程序并编写 text1.txt,然后放置我想要替换的文件。

  • 目录
    • 应用程序.bat
    • test1.txt // 应用程序将在文件夹 1 和文件夹 2 中递归搜索,并将所有找到的结果替换为 test1.txt
    • 文件夹 1
    • 文件夹 2

我想知道,出于这个原因,是否有准备好去应用程序或 bat 文件?

4

1 回答 1

10

下面的批处理文件从当前目录开始,递归搜索第一个参数中给出的文件并复制它(同名)第二个参数中给出的文件:

@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
于 2012-05-03T00:54:37.370 回答