Warm tip: This article is reproduced from serverfault.com, please click

Windows batch file-替换XML文件中的字符串

(Windows batch file - replace a string in an XML file)

发布于 2011-11-02 06:54:34

我有以下XML文件:

<?xml version="1.0"?>
    <configuration>
      <startup>
        <supportedRuntime version="v2.0.50727"/>
      </startup>
      <appSettings>
        <add key="Name1" value="Value1"/>
        <add key="Name2" value="Value2"/>
        <add key="Name3" value="Value3"/>
      </appSettings>
      <runtime>
        <legacyUnhandledExceptionPolicy enabled="true"/>
      </runtime>
    </configuration>

我需要使用Windows Batch文件编程将“ Value2”替换为“ ServerName”。

我是Windows Batch编程的新手,有人可以帮忙吗?

Questioner
Sathish
Viewed
0
aikeru 2011-11-19 04:47:46

批处理中的<,>,^和&字符会出现问题。这将起作用,但是JScript / VBScript脚本(如注释之一中引用的脚本)是更好的解决方案。

将“ ORIGINAL”更改为要搜索的文本,将“ REPLACE”更改为新的文本。我建议Windows脚本学习JScript。

@echo off
for /f "tokens=* delims=" %%f in ('type sometext.txt') do CALL :DOREPLACE "%%f"

GOTO :EOF
:DOREPLACE
SET INPUT=%*
SET OUTPUT=%INPUT:ORIGINAL=REPLACE%

for /f "tokens=* delims=" %%g in ('ECHO %OUTPUT%') do ECHO %%~g>>out.txt

EXIT /b

:EOF