寫了個(gè)批量替換字符串的bat批處理(replaceChar.bat)
在windows上跑case時(shí),我用它來(lái)替換xml文檔中的名稱和值什么的,還可以。但如果遇到bat中有特殊意義的字符比如<,>,%等就不行了,而且替換過(guò)程會(huì)消除每行的空格。鑒于dos知識(shí)有限,還沒找到好的辦法來(lái)避免這兩種狀況。如果用shell腳本完成替換功能就簡(jiǎn)單多了?;蛘咧苯佑胾ltraedit的替換功能更簡(jiǎn)單。
代碼如下:
@echo off rem *************************************************************************** rem ** replaceChar.bat - command line arguments List ** rem ** ** rem ** %1 - ext_name ** rem ** %2 - characters replaced ** rem ** %3 - new characters ** rem ** ** rem *************************************************************************** set ext_name=%1 set old_char=%2 set new_char=%3 if "%ext_name%" == "" goto warning if "%old_char%" == "" goto warning if "%new_char%" == "" goto warning setlocal enabledelayedexpansion set /a a=1 for %%x in (*.%ext_name%) do ( for /f "tokens=*" %%i in (%%x) do ( set "var=%%i" if not !var!.==. ( set "var=!var:%old_char%=%new_char%!" echo !var!!>>!a!.xml ) ) set /a a=!a!+1 ) goto end :warning echo the tool replaceChar requires 3 command line arguments: echo 1) ext name of file in which you want to replace some characters echo 2) characters you want to be replaced echo 3) new characters with which you want to replace some characeters :end echo ***** end to replace characters ***** echo -
如果想修改后的文件名和原來(lái)的一樣,可以把這一段“echo !var!!>>!a!.xml
”改成“echo !var!!>>[path]%%x.xml
”,其中[path]是你的磁盤路徑。
上一篇:bat命令批處理判斷32位還是64位系統(tǒng)的多種方法
欄 目:DOS/BAT
下一篇:批處理一鍵安裝JDK/一鍵安裝JRE和自動(dòng)配置Java環(huán)境變量
本文標(biāo)題:寫了個(gè)批量替換字符串的bat批處理(replaceChar.bat)
本文地址:http://mengdiqiu.com.cn/a1/DOS_BAT/10017.html
您可能感興趣的文章
- 01-10Windows下寫一個(gè)文件備份腳本(專用備份的)
- 01-10批處理自動(dòng)打系統(tǒng)補(bǔ)丁(批量安裝exe文件)
- 01-10bat腳本實(shí)例實(shí)現(xiàn)只允許運(yùn)行一個(gè)實(shí)例(安裝程序、創(chuàng)建快捷方式腳
- 01-10改變cmd命令提示符顏色的3個(gè)小技巧
- 01-10使用BAT批處理在RAR壓縮文件中批量添加文件的方法
- 01-10bat 傳遞超過(guò)10個(gè)參數(shù)的情況
- 01-10bat批處理批量修改文件擴(kuò)展名的方法
- 01-10批處理bat判斷一個(gè)文件在最近5分鐘內(nèi)是否被更新過(guò)的代碼
- 01-10使用批處理bat更改hosts的多個(gè)方法
- 01-10批處理bat設(shè)置固定IP地址和自動(dòng)IP地址


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10DOS下查看硬盤分區(qū)該使用什么命令
- 01-10使用批處理實(shí)現(xiàn)軟件的自動(dòng)安裝以安
- 01-10后臺(tái)運(yùn)行bat定時(shí)器程序示例分享
- 01-10通過(guò)批處理修改DNS的代碼(推薦)
- 01-10dota2服務(wù)器ping測(cè)試腳本分享
- 01-10再談DOS批處理下格式化日期字符串的
- 01-10windows使用批處理發(fā)布web到tomcat并啟動(dòng)
- 01-10win7怎么設(shè)定關(guān)閉顯示器時(shí)間
- 01-10屏蔽up鍵禁止游戲運(yùn)行腳本分享
- 01-10win7創(chuàng)建wifi熱點(diǎn)腳本分享
隨機(jī)閱讀
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10delphi制作wav文件的方法
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 04-02jquery與jsp,用jquery
- 01-10C#中split用法實(shí)例總結(jié)