Batch file 使用批处理脚本查找并替换多个文件中的字符串
我的文件夹里有3000多个文件。我想找到并替换另一个文本。我该怎么做? 我是批处理脚本的新手。我可以在一个文件中替换它,但我不知道如何在多个文件中替换它Batch file 使用批处理脚本查找并替换多个文件中的字符串,batch-file,replace,find,Batch File,Replace,Find,我的文件夹里有3000多个文件。我想找到并替换另一个文本。我该怎么做? 我是批处理脚本的新手。我可以在一个文件中替换它,但我不知道如何在多个文件中替换它 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 )
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
)
如何编辑代码以替换所有文件中的字符串?
等待你的帮助。谢谢您可以对文件使用第二个循环
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的代码,该代码不会替换任何内容,但这不是问题所在。安装,然后只需输入即可
fart *.txt E:\Test E:\Test\Temp
对所有文件使用for循环中的1文件代码对不起,上面的代码不能替换一个文件中的任何字符串!lala.txt文件的内容保持不变…我很好奇为什么在循环内启用延迟扩展,在循环外只执行一次不是更有效吗,替换原始文件的echo | xcopy组合中有什么?我只是从OP:-)复制了原始块,但是对于这个伟大的实用程序,EnableDelayedExpansion应该在循环中。正如广告所宣传的那样。谢谢你的提醒!