求助:BAT 修改XML指定数值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助:BAT 修改XML指定数值相关的知识,希望对你有一定的参考价值。

xml文件在D:\Inhh\iGe\mate\Program\Bin 文件夹下,里面的内容为:
<?xml version="1.0"?>
<License>
<Serial>4E04EF4978E44189F39C69D</SerialNo>
<Signa>198D6E4987B358B14A1A7D7DB0659187127D89A168CB22F358A070D69B4BD67D41</Signature>
<Cont>
<File>1.5</File>
<Customer>Pizze</Customer>
<HT>0</HT>
<Workstation>3</Workstation>
<PDA>0</PDA>
<Printer>2</Printer>
<Kitchen>0</Kitchen>
</Content>
</License>
我要把<Workstation>3</Workstation>还有<Printer>2</Printer>里面的3和2可以随意修改,
比如打开批处理会提示Workstation改成多少,然后是Printer,可以随意输入数字修改
还有就是修改之前先读取<Workstation>3</Workstation>还有<Printer>2</Printer>里面的数值,比如这个3和2.然后在提示修改数值
谢谢帮帮忙吧

参考技术A @echo off
setlocal enabledelayedexpansion
for /f "skip=2 tokens=1-4 delims=^<^>" %%i in ('find /i "workstation" page.xml') do (
set worknum=%%k
set /p str1=Workstation修改为(当前值为:!worknum!):
)
for /f "skip=2 tokens=1-4 delims=^<^>" %%i in ('find /i "printer" page.xml') do (
set printernum=%%k
set /p str2=Printer修改为(当前值为:!printernum!):
)
for /f "tokens=* delims=" %%a in (page.xml) do (
set "content=%%a"
call set "content=%%content:<Workstation>!worknum!</Workstation>=<Workstation>!str1!</Workstation>%%"
call set "content=%%content:<Printer>!printernum!</Printer>=<Printer>!str2!</Printer>%%"
echo !content!>>result.xml
)
del page.xml
ren result.xml page.xml本回答被提问者和网友采纳

以上是关于求助:BAT 修改XML指定数值的主要内容,如果未能解决你的问题,请参考以下文章

bat删除当前目录指定后缀的文件夹?

【求助】OD如何修改字符串里面的数值

bat批量重命名(指定替换字符)

bat文件编写求助!!

如何写BAT 修改指定文件内容,并保存

删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件:BAT + VBS