0

フォルダー内のすべてのテキスト ファイルからいくつかの単語を削除する必要がある状況があります。私はそれを 1 つのファイルでのみ行う方法を知っていますが、そのフォルダー内のすべてのテキスト ファイルに対して自動的に行う必要があります。powershellでそれを行う方法がまったくわかりませんでした。ファイル名はランダムです。

助けてください。

これがコードです


$txt = get-content c:\work\test\01.i

$txt[0] = $txt[0] -置換 '-'

$txt[$txt.length - 1] = $txt[$txt.length - 1] -replace '-'

$txt | セット内容 c:\work\test\01.i


基本的に、jsut は最初の行と最後の行から「-」を削除しますが、フォルダー内のすべてのファイルに対してこれを行う必要があります。

4

5 に答える 5

1
Get-ChildItem c:\yourfolder -Filter *.txt | Foreach-Object{
   ... your code goes here ...
   ... you can access the current file name via $_.FullName ...
}
于 2013-01-21T14:03:41.483 に答える
0

このようなもの ?

ls c:\temp\*.txt | %{ $newcontent=(gc $_) -replace "test","toto"  |sc $_ }
于 2013-01-21T14:02:51.517 に答える
0
$files = get-item c:\temp\*.txt
foreach ($file in $files){(Get-Content $file) | ForEach-Object {$_ -replace 'ur word','new word'}  | Out-File $file}

これが役立つことを願っています。

于 2015-01-04T12:54:33.447 に答える