主頁 > 知識庫 > DOS(bat)字符串替換原理

DOS(bat)字符串替換原理

熱門標簽:智能手機 鐵路電話系統(tǒng) 銀行業(yè)務 美圖手機 服務器配置 呼叫中心市場需求 檢查注冊表項 網(wǎng)站文章發(fā)布

把字符串 “c:/test/1”  中的  “/” 全部替換成 “//”  的原理:

(假設 "C:/TEST/1” 字符串已存在 VAR 變量中:)

C:/WINDOWS>set "var=C:/TEST/1"

(將 var 變量中的字符串里 "/" 字符全部替換成 "http://")

C:/WINDOWS>set "var=%var:/=//%"

(顯示 var 變量中的內容)

C:/WINDOWS>echo %var%
C://TEST//1

結果為:C://TEST//1 ,已全部替換完成。

下面給幾個其他網(wǎng)友給的例子

文件字符串替換

@echo off

echo ***** Replace "abcd" as "ABCD" *****
set strFilePath=C:\Users\Leez\Desktop\TestBat\TestSource.txt
set strOld=abcd
set strNew=ABCD

setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (%strFilePath%) do (
  set "var=%%i"
  if not !var!.==. (
    set "var=!var:%strOld%=%strNew%!"
    echo !var!!>>%strFilePath%.bk
  )
)

move /y %strFilePath%.bk %strFilePath%

pause

例子二:

@echo off 
setlocal enabledelayedexpansion 
set file= 
set /p file= 請輸入要操作的文件名稱(包括擴展名): 
set "file=%file:"=%" 
for %%i in ("%file%") do set file=%%~fi 
echo. 
set replaced= 
set /p replaced= 請輸入即將被替換的內容: 
echo. 
set all= 
set /p all= 請輸入替換字符串: 
for /f "delims=" %%i in ('type "%file%"') do ( 
set str=%%i 
set "str=!str:%replaced%=%all%!" 
echo !str!>>"%file%"_tmp.txt 
) 
copy "%file%" "%file%"_bak.txt >nul 2>nul 
move "%file%"_tmp.txt "%file%" 
start "" "%file%"

筆者將它更改一下
把16改為17

@echo off 
setlocal enabledelayedexpansion 
set file=c:\Program Files\hndsclient\ds\GetFile.ini
set "file=%file:"=%" 
for %%i in ("%file%") do set file=%%~fi 
echo. 
set replaced=16 
echo. 
set all=17
for /f "delims=" %%i in ('type "%file%"') do ( 
  set str=%%i 
  set "str=!str:%replaced%=%all%!" 
  echo !str!>>"%file%"_tmp.txt 
) 
copy "%file%" "%file%"_bak.txt >nul 2>nul 
move "%file%"_tmp.txt "%file%" 
start "" "%file%"

您可能感興趣的文章:
  • 寫了個批量替換字符串的bat批處理(replaceChar.bat)

標簽:紅河 新疆 樂山 沈陽 河南 上海 長治 滄州

巨人網(wǎng)絡通訊聲明:本文標題《DOS(bat)字符串替換原理》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266