写了个批量替换字符串的bat批处理(replaceChar.bat)

所属分类: 脚本专栏 / DOS/BAT 阅读数: 1787
收藏 0 赞 0 分享

在windows上跑case时,我用它来替换xml文档中的名称和值什么的,还可以。但如果遇到bat中有特殊意义的字符比如<,>,%等就不行了,而且替换过程会消除每行的空格。鉴于dos知识有限,还没找到好的办法来避免这两种状况。如果用shell脚本完成替换功能就简单多了。或者直接用ultraedit的替换功能更简单。

代码如下:

@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]是你的磁盘路径。

更多精彩内容其他人还在看

批处理命令详解之目录跳转:cd

本文给大家介绍的是我们在处理不同路径下文件的时候需要使用的目录跳转命令CD,非常的详细,希望大家看了本文之后可以熟练的使用这个命令。好了,下面我们就来详细介绍下吧。
收藏 0 赞 0 分享

批处理命令教学之tree命令

本文给大家介绍的是本系列文章的第二个命令--tree命令,在cmd中,tree命令的功能是以树形格式罗列文件,非常的实用的一个命令,下面我们就来详细看下它的用法
收藏 0 赞 0 分享

批处理命令教学之if语句

这篇文章主要介绍了Windows批处理命令中IF的使用方法,推荐给大家,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

批处理命令教学之管道符号(|)

本文给大家分享的是批处理命令教学系列中的管道符号(|)的使用方法,非常的详细,推荐给小伙伴们,希望大家能够喜欢。
收藏 0 赞 0 分享

批处理命令教学之复合语句连接符(&、&&和||)

这篇文章主要介绍了批处理命令教学之复合语句连接符(&、&&和||)的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

批处理命令教学之字符串排序(sort)

这篇文章主要介绍了批处理命令教学之字符串排序:sort的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

批处理命令教学之more命令

这篇文章主要介绍了批处理命令中的more命令,十分的详细,包含了more的参数的使用,推荐给小伙伴,有需要的朋友可以参考下。
收藏 0 赞 0 分享

bat/cmd批处理连接SqlServer数据库查询脚本

这篇文章主要介绍了bat/cmd批处理连接SqlServer数据库查询脚本,需要的朋友可以参考下
收藏 0 赞 0 分享

BAT批处理一键生成APK包脚本分享

这篇文章主要介绍了BAT批处理一键生成APK包脚本分享,本文脚本适用于cocos2dx+lua的项目,需要的朋友可以参考下
收藏 0 赞 0 分享

批处理脚本实现提醒下班要打卡

本文给大家分享的是使用批处理脚本实现提醒下班要打卡的方法,一共2个版本,小伙伴们根据自己的情况来选择吧。
收藏 0 赞 0 分享
查看更多