递归查找和替换文件(Recursively find and replace files)

2019-07-29 05:31发布

我想要做的就是以下。 我想创造一些bat文件,这将递归搜索从当前目录开始的文件,并与我所提供的文件替换。 对于前。 如果我想搜索和替换test1.txt的,我打开这个小应用程序和编写text1.txt,并把我要被替换的文件。

  • 迪尔
    • app.bat
    • test1.txt的//应用程序将文件夹1和文件夹2内递归搜索并替换test1.txt的所有发现的结果
    • 文件夹1
    • 文件夹2

我在想,如果有准备去应用程序或批处理文件这个原因?

Answer 1:

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

@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


文章来源: Recursively find and replace files