使用PowerShell从文件中删除多行字符串

时间:2013-05-01 01:30:45

标签: windows powershell

我正在尝试使用Powershell从文件中删除字符串。该字符串来自另一个文件。

我的代码可以成功读取文件,但不能从其他文件中删除字符串。什么是错的,我该如何解决?

$inputFile          = ".\usermenuTest1.4d"
$outputFile         = ".\usermenuTest2.4d"
$destinationFile    =  "$outputFile.new"

# Read input file into variable
$target  = [IO.File]::ReadAllText($inputFile)

# Replace target in output file
(Get-Content $outputFile) | Foreach-Object {
    $_ -replace $target, ''
    } | Set-Content $destinationFile

1 个答案:

答案 0 :(得分:0)

正如@KeithHill已经指出你的脚本当前逐行处理$outputFile。尝试这样的事情:

$s = [IO.File]::ReadAllText($outputFile)
$r = [IO.File]::ReadAllText($inputFile)

$s -replace $r, '' | Out-File $destinationFile