写了个批量替换字符串的bat批处理(replaceChar.bat)
在windows上跑case时,我用它来替换xml文档中的名称和值什么的,还可以。但如果遇到bat中有特殊意义的字符比如<,>,%等就不行了,而且替换过程会消除每行的空格。鉴于dos知识有限,还没找到好的办法来避免这两种状况。如果用shell脚本完成替换功能就简单多了。或者直接用ultraedit的替换功能更简单。
代码如下:
@echooff rem*************************************************************************** rem**replaceChar.bat-commandlineargumentsList** rem**** rem**%1-ext_name** rem**%2-charactersreplaced** rem**%3-newcharacters** rem**** rem*************************************************************************** setext_name=%1 setold_char=%2 setnew_char=%3 if"%ext_name%"==""gotowarning if"%old_char%"==""gotowarning if"%new_char%"==""gotowarning setlocalenabledelayedexpansion set/aa=1 for%%xin(*.%ext_name%)do( for/f"tokens=*"%%iin(%%x)do( set"var=%%i" ifnot!var!.==.( set"var=!var:%old_char%=%new_char%!" echo!var!!>>!a!.xml ) ) set/aa=!a!+1 ) gotoend :warning echothetoolreplaceCharrequires3commandlinearguments: echo1)extnameoffileinwhichyouwanttoreplacesomecharacters echo2)charactersyouwanttobereplaced echo3)newcharacterswithwhichyouwanttoreplacesomecharaceters :end echo*****endtoreplacecharacters***** echo-
如果想修改后的文件名和原来的一样,可以把这一段“echo!var!!>>!a!.xml
”改成“echo!var!!>>[path]%%x.xml
”,其中[path]是你的磁盘路径。
热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短