bat中替換中文字串,bat SET中替換字串(用變數代表需替換的字串)

時間 2022-08-04 08:12:04

1樓:匿名使用者

/、《和》是特殊字元,顯示它們需要用^號轉義,在set命令中賦值時需要將變數名和變數值一起用雙引號括起來。

@echo off

for /f "delims=" %%i in (strings.xml) do (

setlocal enabledelayedexpansionset "a=%%i"

set "a=!a:大神求助=大神支招!"

if "!a:~0,1!" neq " " (echo ^!a!>>strings1.xml) else (

echo=>>strings1.xml

)endlocal

)echo=>t.tmp

for /f "delims=` tokens=* eol=`" %%a in (strings1.xml) do (

setlocal enabledelayedexpansionset "a=%%a"

set "a=!a:echo 處於關閉狀態。=!"

if "!a!"=="" (

type t.tmp>>strings2.xml) else (

echo !a!>>strings2.xml)endlocal

)del /f /q strings1.xmldel /f /q t.tmp

rename strings2.txt strings1.xml

2樓:乙個單身漢

在windows自帶的文件裡 用替換功能 不是比批處理更快嗎

bat set中替換字串(用變數代表需替換的字串)

3樓:匿名使用者

@echo off

set "var=ab,dc,cc,ef,gg,aq,gg"

set "var=%var:,= %"

echo %var%

set "mat=gg"

echo %mat%

call set "var=%%var:%mat%= %%"

echo %var%

call命令會對其引數進行擴充套件,然後再執行,gg會替換成乙個空格也可以啟用變數延遲來實現

%mat%=!

4樓:匿名使用者

@echo off

echo %var%

set mat=gg

echo %mat%

set var=!var:%mat%= !

echo %var%

pause

啟用批處理中的延遲變數擴充套件就可以輕鬆處理了.

如何用bat替換文字的字串? 10

5樓:匿名使用者

@echo off

setlocal enabledelayedexpansionset /p ip=請指定ip:

for /f "delims=" %%i in (bingpinyin_2014_11_4.txt) do (

set a=%%i

set a=!a:124.237.78.27=%ip%!

echo !a!>>文字名_副本

)ren 文字名 文字名_備份

ren 文字名_副本 文字名

將以上**中的所有「文字名」改成文字實際名稱,儲存為bat格式的可執行檔案放在文字的同一資料夾下執行。

bat 批處理 怎樣批量把檔名中的乙個漢字替換為另乙個

6樓:匿名使用者

@echo off

title 檔名字元替換

mode con cols=60 lines=20

::檔案要是重名,會提示錯誤。

setlocal enabledelayedexpansion & color 0a

:1set a=

set b=

set c=

cls&echo.

set /p a= 請輸入要被替換的字元:

cls&echo.

set /p b= 請輸入替換「!a!」的字元,若要去掉「!a!」,請直接回車:

for /f "delims=" %%a in ('dir /b /a /a-d') do (

if "%%~fa" neq "%~0" (

set xz=%%~na

cls&echo.&set /p c= 操作完成,輸入 0 返回,輸入其它任意字元退出

if "!c!"=="0" (goto 1) else (exit)

goto :eof

bat set中替換字串(用變數代表源字串、需替換的子字串、目標字串)

7樓:匿名使用者

要先開啟變數延遲,就是setlocal enabledelayedexpansion

@echo off

setlocal enabledelayedexpansionset str0=d:\test\a\test.txtset str1=d:\test\a

set str2=d:\test\b

echo !result!

pause

開啟了變數延遲後,百分號要變成感嘆號,但是當變數名中有變數時,表示變數名的變數還是要用百分號。

8樓:

剛好遇到這個問題,順道幫你解決一下。

@echo  off

setlocal enabledelayedexpansionset str0=d:\test\a\test.txtset str1=d:\test\a

set str2=d:\test\b

echo !result!

pause

.bat 替換檔案中的特殊字串

9樓:匿名使用者

cd /d "%~dp0"

set "strold=(1<<3)|(1<<7)|(1<<20)|(1<<38)|(1<<40)|(1<<41)|(1<<42)|(1<<43)"

set "strnew=(1<<3)|(1<<7)"

(for /f "tokens=1* delims=:" %%a in ('findstr /n .* 1.txt') do (

if "%%b" == "" (echo.) else (set "var=%%b"

echo,!var!

)))>#

move /y # 1.txt

以bat目錄中的目標檔案1.txt為例

bat 替換字串

10樓:依夢琴瑤

::關閉回顯 & 視窗標題

@echo off & title 切換語言 by 依夢琴瑤

::開啟環境變數延遲

setlocal enabledelayedexpansion

::設定painter.ini文件所在的主目錄,如果直接在指令碼所在目錄搜尋,請直接寫乙個英文小數點

set inidir=.

::跳轉目錄

cd /d "%inidir%"

::搜尋painter.ini檔案,包括子目錄

for /f "delims=" %%a in ('dir /a-d/s/b painter.ini') do (

rem 讀取搜尋到的檔案內容,這裡for前面加個(,主要用於把此for中執行過程中顯示的內容進行輸出

(for /f "eol= delims=" %%b in ('type "%%~a"') do (

rem 設定行內容到str變數

set "str=%%~b"

rem 顯示str變數值,並傳遞到findstr命令進行查詢zh_cn字串,>nul 2>nul 用於遮蔽反饋提示

rem &&表示findstr找到指定字串後要準備執行什麼

echo "!str!" | findstr /c:"zh_cn" >nul 2>nul && (

rem 顯示替換zh_cn為en_us後的str變數值

echo !str:zh_cn=en_us!

rem 設定乙個空值的local變數,主要用於後續視窗中文字提示的判斷

set "local="

rem || 表示findstr找不到指定字串後要準備執行什麼

) || (

rem 顯示str變數值,並傳遞到findstr命令進行查詢en_us字串,>nul 2>nul 用於遮蔽反饋提示

rem &&表示findstr找到指定字串後要準備執行什麼

echo "!str!" | findstr /c:"en_us" >nul 2>nul && (

rem 顯示替換en_us為zh_cn後的str變數值

echo !str:en_us=zh_cn!

rem 設定乙個值為1的local變數,主要用於後續視窗中文字提示的判斷

set "local=1"

rem || 表示findstr找不到指定字串後要準備執行什麼

) || (

rem 顯示沒有相關字串的str變數值

echo !str!

rem 結束第二次findstr命令的處理過程

)rem 結束第一次findstr命令的處理過程

)rem 結束第二次for命令的處理過程,並輸出上面執行時顯示的內容到ini_tmp$檔案

))>ini_tmp$

rem 判斷local變數是否被定義值,

if defined local (

rem 如果被定義就直接在cmd視窗中顯示下方一行內容

echo en_us --^> zh_cn

rem 如果沒有被定義

) else (

rem 就顯示下方一行內容

echo zh_cn --^> en_us

rem 結束if判斷語句

)rem 移動ini_tmp$,並覆蓋搜尋到的painter.ini檔案,以達到修改的目的

move /y ini_tmp$ "%%~a" >nul 2>nul

rem 結束第一次for,也就是搜尋檔案的處理過程

)rem 暫停指令碼

pause

這樣的指令碼和每行注釋,應該能看的明白了吧!

如何用bat 替換txt文字中的指定字串 獲取當前資料夾的字串 替換

11樓:依夢琴瑤

@echo off & title 替換文字字串 by 依夢琴瑤cd /d %~dp0

set zfc=123423546txt

for %%a in ("%cd%") do set "dn=%%~nxa"

for %%a in (*.txt) do ((for /f "delims=" %%b in ('type "%%~a"') do (

set "str=%%~b"

>file$.tmp

move file$.tmp "%%~a" >nul)pause

放在qwrewretry1234目錄中執行,即可把所有txt檔案中的相關字串替換為目錄名。

批量修改替換,如何批量替換Word中的數字格式

我給你出個主意,我花費了不少精力啊,覺得好,一定要給賞啊 第一步,開啟檔案,全選以下資料,0113560160 方霖津 女 2班 0113560642 陳楚嫣 女 3班 0113640045 馮俊燃 男 4班 0113050282 麥曼晴 女 5班 ctl c,複製到剪貼簿。第二步,新建excel檔...

sql server 中怎樣執行bat檔案

1.新增乙個批處理檔案 如a.bat 2.新增乙個sql指令碼檔案 如a.sql 3.a.bat中輸入 sql server下可以用sqlcmd或osql sqlcmd u 使用者名稱 p 密碼 i c a.sql或sqlcmd u 使用者名稱 p 密碼 i c a.sql 同樣在bat檔案中,輸入...

cad中如何開啟「查詢和替換」,CAD中如何開啟「查詢和替換」

cad的 查詢 命令有以下方法 1 選單欄,編輯 查詢 調出 查詢 對話方塊 2 在cad介面中,alt e,再按f,調出 查詢 對話方塊 3 在cad介面中,輸入命令find,調出 查詢 對話方塊。如需替換,請按照所需規則進行替換設定。批量替換時設定技巧如下 1 在成品設計中,如需更改 1 20 ...

如何在中查詢或者替換文字,如何在Word中查詢或者替換文字

word如何使用查詢替換?以wps 2019版為例 開啟文件,依次點選 開始 查詢和替換 即可進行查詢與替換 在word中查詢或者替換文字的功能經常會被用到。有人對在word中查詢或者替換文字的方法還不是很熟悉。本文就來介紹一下在word中查詢或者替換文字的方法。1 單擊 編輯 查詢 選單命令,調出...

批處理bat檔案中的goto命令

可以啊,如下 我也不知道我怎麼就蛋疼的寫了這麼個批處理,我就是用這個告訴你,在for中可以用goto任意轉回到任意位置,只要你設定了標籤 echo off setlocal enabledelayedexpansion begin set a a random 20 echo a for l i i...