‘壹’ 如何使用bat批处理文件修改xml里面的字符串
@EchoOff&
For/f"tokens=*"%%iin(2.xml)do(
Setstr=
For/f"tokens=1-5*delims=="%%jin("%%i")do(
If"%%j"=="<TaskScheleConfig"(Setstr=%%j%%k="2"%%m="3"%%o)
)
Ifdefinedstr(Echo!str!)else(Echo%%i)
Ifdefinedstr(Echo!str!)else(Echo%%i)>>2_new.xml
)
Pause
假设2.xml内容为:
<xml>
<TaskScheleConfig Times="1" TimesType="2" />
<xml>
‘贰’ bat批处理 修改xml内容
不清楚你的实际文件/情况,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI
<#:
cls
@echooff
rem修改xml文件里的指定字符串内容(在指定字符串内容左右两边插入/添加内容)
set#=Anyquestion&set@=WX&set$=Q&set/az=0x53b7e0b4
title%#%+%$%%$%/%@%%z%
powershell-NoProfile-ExecutionPolicybypass"Invoke-Command-ScriptBlock([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default)))"
echo;%#%+%$%%$%/%@%%z%
pause
exit
#>
$xmlfile='d:123s.xml';
$words='<Connectorport="8009"protocol="AJP/1.3"redirectPort="8443"/>';
$enc=[Text.Encoding]::UTF8;
$text=[IO.File]::ReadAllText($xmlfile,$enc);
$text=$text.replace($words,'<!--'+$words+'-->');
[IO.File]::WriteAllText($xmlfile,$text,$enc);
‘叁’ 如何写个BAT批处理修改XML文件内容
你好的!
echooff
set"file=123.xml"
set"file_personal=1231.xml"
(
for/f"tokens=*"%%iin(%file%)do(
sets=%%i
sets=!s:10.32.20.2=10.32.20.220!
echo!s!
)
)>%file_personal%
这个放到一个文件夹上
文件名我暂且定义为123.xml
望采纳!
‘肆’ 如何使用批处理文件修改xml文件里面的值
For/f"tokens=*delims="%%iin(2.xml)do(
For/f"tokens=1-5delims=="%%jin("%%i")do(
Setstr=
If"%%j"=="<OilTime"(Set"str=<OilTimeTimes="50"TimesType="20"/>")
Ifdefinedstr(Echo!str!)else(Echo%%i)
Ifdefinedstr(Echo!str!>>2_new.xml)else(Echo%%i>>2_new.xml)))
Pause
‘伍’ 批处理修改xml文件
使用批处理文件修改xml文件里面的值代码如下:
@Echo Off&Setlocal Enabledelayedexpansion
For /f "tokens=*" %%i in (2.xml) do (
Set str=
For /f "tokens=1-5* delims== " %%j in ("%%i") do (
If "%%j"=="<TaskScheleConfig" (Set str= %%j %%k="2" %%m="3" %%o)
)
If defined str (Echo !str!) else (Echo %%i)
If defined str (Echo !str!) else (Echo %%i)>>2_new.xml
)
Pause
‘陆’ 如何用lua写出一个,更改xml文件内容的脚本。
下一个第三方xml库就好了
例如Lua-Simple-XML-Parser
网页链接
或者到 Lua wiki 找一个其他的库
网页链接
‘柒’ bat脚本实现XML文件的读取和替换
用bat读取并改写文件的方法如下:
读取。 新建文本文档在文本文档里输入: dir *.* /a /b /s >1.txt 保存为 提取名字.bat 文件名字被提取到当前文件夹的1.txt里面了!也可以提取某类型的文件比如*.mp3 或者a*.mp3
改写文件 。 新建文本文档在文本文档里输入: @for /f %%a in (A.txt) do @( if exist %%a for /f %%b in (B.txt) do ( rename %%a %%b)) 保存为 批量改名.bat A.txt 是原来的文件名 B.txt 是修改后的文件名 一行对应一个名字不能有空格同时注意文件属性
a.txt : NBA直播录像1.3gp NBA直播录像2.3gp
b.txt : NBA直播录像第一场.3gp NBA直播录像第二场.3gp
‘捌’ 求助shell脚本修改xml文件问题
#!/bin/sh
sed'/name="aaa"/s/([0-9]+.){3}[0-9]+/14.14.14.14/'file.xml>new.xml
先匹配包含 name="aaa" 的行,仅对该行做IP替换处理。
结果保存在new.xml中。
注意:点号在正则表达式中有特殊含义,表示匹配任意一个字符,因此要表示点号本身,需要做转义。
‘玖’ 如何用shell脚本修改XML文件
通过shell脚本修改xml文件中的某行记录
跟之前一样,假设有如下的xml文件:
web.xml中有如下内容:
[html] view plain
cookieName
sessionName
需求:现在需要利用shell脚本替换掉cookieName对应的value值,
利用shell实现方式如下:
shell脚本部分:
declare -i Dline
getline()
{
grep -n "cookieName" ${DOMAIN_HOME}/portal/ROOT/WEB-INF/web.xml | head -1 |
cut -d ":" -f 1;
}
getlinenum()
{
awk "BEGIN{a=`getline`;b="1";c=(a+b);print c}";
}
Dline=`getlinenum`;
echo "line is ${Dline}";
sed -i "${Dline},${Dline}s/.*/ \替换的value值\<\/param-value\>/g"
path/web.xml
说明:这个跟之前的替换属性文件的区别在于,这个是精确定位到行的,然后替换正行code。
这个xml和properties 中都是默认需要替换的内容是唯一的。
‘拾’ 怎么用shell脚本修改XML文件
1、删除字符串所在行 sed -i '/vip2/d' g.xml 2、在第5行或start位置插入vip4.txt内容 sed -i '5 r vip4.txt' g.xml sed -i '/vip.start/r vip4.txt' g.xml 3、替换内容 sed -i ‘s/原字符串/新字符串/g' b.xml