批处理命令替换文件中的文本

时间:2013-01-31 13:07:21

标签: batch-file command-prompt

我知道很多次都会问这个问题,但我没有得到我正在搜索的答案。 我想使用windows .bat文件替换模式。

我知道如何将X替换为Y

但我正在尝试将installPath替换为C:\Programfiles\Install\

在这里,我遇到问题,因为新值字符串包含\,即特殊字符。

请告诉我如何取代它。

4 个答案:

答案 0 :(得分:1)

这对我来说很好用

set p=installPath
set p=%p:installPath=C:\Programfiles\Install\%
echo %p%

答案 1 :(得分:1)

以下脚本将在文件中找到该字符串并替换为另一个字符串。 可执行程序。 “安装路径”将替换为“C:\ Programfiles \ Install”

@echo off
for /f "usebackq tokens=*" %%a in ("test.txt") do call :Replace "%%a"
del "test.txt" 
rename "newfile.txt" test.txt 

exit /b

:Replace
set str1=%~1 
set str1=%str1:installPath=C:\Programfiles\Install% 
echo.%str1%>>"newfile.txt" 

exit /b

答案 2 :(得分:0)

也许这个工具可能对您有所帮助:

http://sourceforge.net/projects/fart-it/

答案 3 :(得分:0)

这应该有效...顺便说一句,这是我在本网站上的第一篇文章。 以下使用延迟扩展,以便您可以使用两个不同的“变量符号”:

    setlocal enabledelayedexpansion
    set iPath=installPath
    set input=C:\Programfiles\Install\
    set p=!iPath:installPath=%input%!

希望这有帮助