2016-04-29 83 views
3

私はpowershellのnoobですが、まだスクリプティングを学んでいますが、基本については不安です。私はPowerShell - 単語間のスペースをtxtファイルから削除する

DefaultWebsites 
PowerShell 
HelloWorld 

以下の結果を得て、私はトリムを使用して、私は単語間の空白を削除する必要があるウェブサイト

Default Websites 
Power Shell 
Hello World 

のリストを含むテキストファイルしようとしていている (」 ')コマンドを実行しますが、空白は削除されません。

ここには、最初と最後とすべての空白行を削除するオリジナルのスクリプトがあります。単語間の空白を削除するには、スクリプトに何を追加する必要がありますか?

Get-WmiObject -Class IIsWebServerSetting -Namespace "root\microsoftiisv2" | Select ServerComment | Format-Table -HideTableHeaders | out-file c:\website.txt 
$b = Get-Content -Path C:\website.txt 
$b | ForEach {$_.TrimEnd()} | ? {$_.trim() -ne '' } > C:\website.txt 

ありがとうございます。私はどんな助けにも感謝します。

答えて

2

私はこのアプローチ(ヒーローは置換機能です):

Get-WmiObject -Class IIsWebServerSetting -Namespace "root\microsoftiisv2" | Select ServerComment | Format-Table -HideTableHeaders | out-file c:\website.txt 
$b = Get-Content -Path C:\website.txt 
@(ForEach ($a in $b) {$a.Replace(' ', '')}) > C:\Website2.txt 
2

あなたは、単純な正規表現で-replaceコマンドを使用することができます。■空白文字[\ rを\ n個の\トンのの\ f]の

にマッチ\

-replace '\s' 

これを試してみてください。

[System.IO.File]::WriteAllText(
     'C:\website.txt', 
     ([System.IO.File]::ReadAllText('C:\website.txt') -replace '\s') 
    ) 
+0

あなたに感謝していますが、Eduard Utaのソリューションは、それがより大きいスクリプトの小さな部分であるため、私のスクリプトではあまり複雑ではありません。 –

関連する問題