使用批处理脚本查找并替换多个文件中的字符串

时间:2012-03-10 10:55:19

标签: batch-file replace find

我在一个文件夹中有更多3000个文件。我想找到另一个文本并替换它。我怎样才能做到这一点? 我是批处理脚本的新手。我可以在1个文件中替换它,但我不知道如何替换多个文件。

FOR /F %%L IN (lala.txt) DO (
    SET "line=%%L"
    SETLOCAL ENABLEDELAYEDEXPANSION
    set "x=!line:E:\Test=E:\Test\Temp!"
    echo f | xcopy /E !line! !x! 
    ENDLOCAL
)

如何编辑代码以替换所有文件中的字符串? 等待你的帮助。感谢

2 个答案:

答案 0 :(得分:8)

安装Find And Replace Text command line utility,然后您只需输入

即可
fart *.txt E:\Test E:\Test\Temp

答案 1 :(得分:3)

您可以为文件使用第二个循环。

for %%f in (*.txt) do (
    FOR /F %%L IN (%%f) DO (
      SET "line=%%L"
      SETLOCAL ENABLEDELAYEDEXPANSION 
      set "x=!line:E:\Test=E:\Test\Temp!" 
      echo f | xcopy /E !line! !x! 
      ENDLOCAL
  )
)

此代码仅显示如何构建循环以处理所有文本文件 内部代码使用OP的代码,它不会替换任何东西,但这不是问题。