在字符串(\ test.something)之后删除所有内容的命令是什么。 我在文本文件中有信息,但在字符串后面有一行我不想要的1000行文本。如何删除字符串后的所有内容。
这就是我所拥有的 - 不工作。非常感谢你。
$file = get-item "C:\Temp\test.txt"
(Get-Content $file) | ForEach {$_.TrimEnd("\test.something\")} | Set-Content $file
答案 0 :(得分:3)
使用-replace
(Get-Content $file -Raw) -replace '(?s)\\test\.something\\.+' | Set-Content $file
答案 1 :(得分:1)
为什么要删除所有内容?只是保持一切(我将使用两行来提高可读性,但你可以轻松地组合成单一命令):
$text = ( Get-Content test.txt | Out-String ).Trim()
#Note V3 can just use Get-Content test.txt -raw
$text.Substring(0,$text.IndexOf('\test.something\')) | Set-Content file2.txt
此外,您可能不需要Trim但是您正在使用TrimEnd,以便以后添加它。 )