0
我的google-fu失败了我,所以我很乐意在这个问题上得到一些帮助。我有一个目录充满了标记文件(扩展名为.xft)。我需要通过将字符串文字和文件名(不带文件扩展名)添加到每个文件来修改这些文件。用PowerShell中的字符串文字和文件名替换文本文件中的字符串
例如,我目前有:
<headerTag>
<otherTag>Some text here </otherTag>
<finalTag> More text </finalTag>
我需要落得是:
<modifiedHeaderTag>
<secondTag> filenameGoesHere </secondTag>
<otherTag>Some text here </otherTag>
<finalTag> More text </finalTag>
因此,在这个例子中,
"<modifiedHeaderTag>
<secondTag>"
将是我的第一次字符串文字(这是一个插入同一地点的每个文件中的常量),
filenameGoesHere
将是可变的字符串(每个文件的名称),并且
"</secondTag>"
将是我的第二恒定字符串文字。
我是能够成功地替换文本使用:
(Get-Content *.xft).Replace("<headerTag>", "<modifiedHeaderTag>")
然而,当我试图
(Get-Content *.xft).Replace("<headerTag>", "<modifiedHeaderTag> `n
<secondTag> $($_.Name) </secondTag>")
我刚刚得到一个错误信息。用${$_.Name)
代替$($_.Name)
也没有效果。
我试过其他的东西,但是这种方法是最接近成功的。我将不胜感激任何帮助,我可以得到。这可能很简单,我只是没有看到由于Powershell缺乏经验而发生的事情,所以一个助手会很棒。
如果上述不够清楚,我会很乐意提供更多信息,请让我知道。感谢大家!
_I只是得到了一个错误message._。你应该包括,所以我们不必猜测 – Matt
你的替换应该工作正常。你不显示你正在使用的循环。 – Matt