我正在尝试使用Get-ChildItem
命令替换XML中的某些文件名。 XML中有6个文件名,每个文件夹中有6个文件。我想要做的就是使用Get-ChildItem
命令替换XML中的文件名
如果有帮助,文件名总是递增1。所以我有以下内容:
Get-ChildItem $dirname\resources\* -filter *.txt -recurse
返回6个文件名。当我选择一个XML节点时,这也会返回6个文件名。
$xml.SelectNodes('//FileName',$XmlNSManager)
如何从Get-ChildItem
命令同步替换XML中的每个文件名?即
12341_1.txt --> 100011.txt,
12341_2.txt --> 100012.txt,
12341_3.txt --> 100013.txt,
等等。
答案 0 :(得分:1)
如果我理解你的问题,那么这样的事情应该有效:
$files = Get-ChildItem $dirname\resources\* -Filter *.txt -Recurse |
select -Expand Name | sort
$i = 0
$xml.SelectNodes('//FileName', $XmlNSManager) | % {
$_.'#text' = [string]$files[$i]
$i++
}