如何使用bat文件脚本替换文本文件中的文本?

所以我想创建一个脚本,它需要3个参数:文件路径,替换确切单词以及替换它的内容。 如何创建这样的事情?

通常我希望它有一个这样的API:

script.bat "C:/myTextDoc.xml" "_WORD_TO_REPLACE_" "WordTo Use"

因为它可以根据正则表达式进行搜索和替换,所以使用fnr实用程序比其他着名实用程序更好。 此外,对于UI爱好者,您可以在UI中配置选项,并且可以生成命令行字符串,然后可以在您的脚本中使用它。 即使作为命令行也很容易使用。

在这里找到http://findandreplace.codeplex.com/

它也是单独的EXE,没有任何依赖性,所以很容易使用。

例:

fnr --cl --dir "" --fileMask "hibernate.*" --useRegEx 
      --find "find_str_expression" --replace "replace_string"

我在我的生活中写了类似2批处理脚本的东西,但是这里是如何从命令行输入信息的:

script.bat filepath find replace
%1 = filepath, %2 = find, %3 = replace

要进行替换,请执行以下操作:

for /f "tokens=1,* delims=]" %%A in ('"type %1|find /n /v """') do (
set "line=%%B"
if defined line (
    call set "line=echo.%%line:%~2=%~3%%"
    for /f "delims=" %%X in ('"echo."%%line%%""') do %%~X
    ) ELSE echo.
)

(直接从@russ发布的链接中获取,并更改了可变数字。)

我认为这应该适合你。


快速谷歌搜索发现这一点:

http://www.dostips.com/?t=Batch.FindAndReplace

链接地址: http://www.djcxy.com/p/35425.html

上一篇: How to replace text in text file using bat file script?

下一篇: Having a flex project, how to compile it with mxmlc (not using flashBuilder gui)?