我知道這個問題被問了很多次,但我沒有得到我正在搜索的答案。 我想用windows .bat
文件替換一個模式。批量命令替換文件中的文本
我知道如何用Y
代替X
。
但我想用C:\Programfiles\Install\
來代替installPath
。
在這裏,我面臨的問題是新值字符串包含\
即特殊字符。
請讓我知道我可以取代這個。
我知道這個問題被問了很多次,但我沒有得到我正在搜索的答案。 我想用windows .bat
文件替換一個模式。批量命令替換文件中的文本
我知道如何用Y
代替X
。
但我想用C:\Programfiles\Install\
來代替installPath
。
在這裏,我面臨的問題是新值字符串包含\
即特殊字符。
請讓我知道我可以取代這個。
也許這個工具可以幫助你:
這對我工作得很好
set p=installPath
set p=%p:installPath=C:\Programfiles\Install\%
echo %p%
Followinf腳本就會發現該文件中的字符串,並用另一個字符串替換。 EX。 「安裝路徑」將被替換爲「C:\ PROGRAMFILES \安裝」
@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
這應該工作...順便說一下,這是我的這個網站上的第一篇文章。 以下用途延遲擴展,讓你有兩個不同的「變量符號」一起玩:
setlocal enabledelayedexpansion
set iPath=installPath
set input=C:\Programfiles\Install\
set p=!iPath:installPath=%input%!
希望這有助於大家的答案
感謝,但沒有人幫助我。讓我解釋。我有一個屬性文件,我有一個名爲installPath的屬性,並從命令行運行.bat文件,我接受C:\ Programfiles \ Install \作爲來自用戶的輸入,然後在我的屬性文件中,我必須將installPath替換爲用戶輸入路徑。此處提供的所有解決方案都適用於硬編碼值,而不適用於用戶在運行時輸入的值。 –