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