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...