powershell trim - 删除字符串后的所有字符

powershell trim - remove all characters after a string

删除字符串 (\test.something) 后的所有内容的命令是什么。 我在一个文本文件中有信息,但在字符串之后有 1000 行我不想要的文本。我怎样才能删除字符串之后的所有内容。

这就是我所拥有的 - 无法正常工作。非常感谢。

$file = get-item "C:\Temp\test.txt"

(Get-Content $file) | ForEach {$_.TrimEnd("\test.something\")} | Set-Content $file

使用-replace

(Get-Content $file -Raw) -replace '(?s)\test\.something\.+' | Set-Content $file

为什么之后删除所有内容?保持一切正常(为了便于阅读,我将使用两行,但您可以轻松地组合成一个命令):

$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 所以添加以防您以后想添加它。 )