-1

私はPowerShellに比較的慣れていません。誰かが簡単なスクリプトで私を助けてくれますか?スクリプトは次のとおりです。

Clear-Host #clear command window
Set-Location c:\MyDir
Get-ChildItem -include *.txt -recurse  | Get-Content  | Foreach-Object {
                                                            $_  -replace 'TextToReplace1', '' `
                                                                -replace 'TextToReplace2', ''
                                                           } | Set-Content -WhatIf

もちろん、最後のSet-Contentは失敗しています。変更したばかりのtxtファイルを保存しようとしています。

4

2 に答える 2

2

私はこのようにします:

Get-ChildItem -path c:\MyDir -filter *.txt -recurse | 
     Foreach-Object { 
                     (gc $_.FullName) | % 
                                        {
                                         $_  -replace 'TextToReplace1', '' `
                                              -replace 'TextToReplace2', ''
                                        } | Set-Content  -Path $_.fullname 
                    }
于 2012-11-02T19:28:49.190 に答える
-1

これが私がスクリプトを書くことになった方法です:

Set-Location c:\MyDir
$ProjFiles = Get-ChildItem -include *.txt -recurse  

foreach ($file in $ProjFiles)
{
    $NewFile = Get-Content $file.PSPath  | Foreach-Object {
                                                            $_  -replace 'TextToReplace1', '' `
                                                                -replace 'TextToReplace2', '' ` 
                                                           } 
     Set-Content $file.PSPath $Newfile                                                     
}
于 2012-11-07T17:34:20.717 に答える