0
$xml = [xml](Get-Content C:\temp\STA\*.dtsConfig)
$xml.SelectNodes('//ConfiguredValue')|%{$_.'#text'=($_.'#text' -replace '_\d+',[datetime]::Today.ToString('_MMddyyy'))}
$xml.SelectNodes('//ConfiguredValue')|%{$_.'#text'}
xml.Save('C:\temp\STA\*.dtsConfig')

从前 3 个步骤开始,我想检查名为 PackageDependencies_somedate(20110528) 的 dtsConfig 中的 ConfiguredValue 中的标记,并且我想更改 PackageDependencies_currentdate(20130619),将某些日期更改为当前日期并保存文件,

http://i.stack.imgur.com/EHH6h.jpg

4

1 回答 1

0

您的代码应如下所示:

ls C:\temp\STA\*.dtsConfig | foreach {
  $file = $_.FullName;
  $xml = [xml](Get-Content $file)
  $todayStr = [datetime]::Today.ToString('_MMddyyy')
  @($xml.SelectNodes('//ConfiguredValue')) | %{
      $_.'#text'=($_.'#text' -replace '_\d+',$todayStr)
  }
  $xml.Save($file)
}
于 2013-06-24T10:31:36.547 回答