打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
写了个批量替换字符串的批处理(replaceChar.bat) - 一月三十一日
写了个批量替换字符串的批处理(replaceChar.bat)
在windows上跑case时,我用它来替换xml文档中的名称和值什么的,还可以。但如果遇到bat中有特殊意义的字符比如<,>,%等就不行了,而且替换过程会消除每行的空格。鉴于dos知识有限,还没找到好的办法来避免这两种状况。如果用shell脚本完成替换功能就简单多了。或者直接用ultraedit的替换功能更简单。code如下:
@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 -
如果想修改后的文件名和原来的一样,可以把这一段“echo !var!!>>!a!.xml
”改成“echo !var!!>>[path]%%x.xml
”,其中[path]是你的磁盘路径。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用批处理实现文件备份器V2.3
教你如何编写自己的bat文件!
bat中的算术运算
Windows 批处理大全(附各种实例)
bat批处理使用手册
Windows BAT批处理命令详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服