1

我在 web.xml 中有一个配置设置。配置文件如下:

<param name="url" value="http://localhost/services.msc">

我想使用 powershell 编写一个批处理文件,用端口号替换 value="http://localhost/services.msc" 作为 value="http://localhost:808/services.msc"

是否可以用另一个文本替换一个文本?

4

1 回答 1

1

有几种方法可以做到这一点。如果我知道我要修改的值,我最喜欢的修改任何 XML 文件的方法是将内容转换为 XML,找到我知道的正确设置,修改它,然后设置config 文件到我现在在 powershell 中的内容。下面是一个例子。为了找到确切的值,我通常将其上方的项目通过管道传送到 | 直到我得到我正在看的东西。您可以阅读 XML 并可能更容易获取信息。

#Make sure you set the webconfigpath variable.  
#Make sure you know your keyname and where to find it in the XML doc.
$webConfig = [xml](Get-Content -path $webConfigPath)
$setting = $webConfig.configuration.appSettings.add | ?{$_.key -eq "KeyName"}
$setting.Value = "NewValue"
$webConfig.save($webConfigPath)

这可能可以通过 Set-WebConfigurationProperty cmdlet 进行更改,但我不确定,也没有亲自使用过。

于 2012-08-15T14:41:41.530 回答