更新时间:2017年04月02日 14:03:00 作者:bandt
鉴于dos知识有限,还没找到好的办法来避免这两种状况。如果用shell脚本完成替换功能就简单多了。或者直接用ultraedit的替换功能更简单
在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
echo ***** end to replace characters *****
echo -
如果想修改后的文件名和原来的一样,可以把这一段“echo !var!!>>!a!.xml
”改成“echo !var!!>>[path]%%x.xml
”,其中[path]是你的磁盘路径。
您可能感兴趣的文章:
-
-
-
-
-
Windows常用脚本合集(推荐)
因为使用windows一些常用命令需要手动操作,比如启用ssh链接,要先使用win+r输入cmd再输入ssh,有时候甚至ssh命令容易忘记,还需要查看帮助,所以特此集合了一些常用命令,对Windows常用脚本感兴趣的朋友一起看看吧
2022-09-09
-
-
批处理命令教学之管道符号(|)
本文给大家分享的是批处理命令教学系列中的管道符号(|)的使用方法,非常的详细,推荐给小伙伴们,希望大家能够喜欢。
2015-03-03
-
-
利用for命令提权的方法分享
通过webshell执行for命令获取网站信息,我们做服务器安全的看样子也需要将for命令给限制使用了
2012-04-04
-
-