2016-04-29 109 views
3

我是Powerhell的noob,但仍在嘗試學習腳本,但卻在基礎知識上陷入困境。 我有一個包含網站PowerShell - 從txt文件中刪除單詞之間的空格

Default Websites 
Power Shell 
Hello World 

我需要刪除單詞之間的空格,所以我得到以下

DefaultWebsites 
PowerShell 
HelloWorld 

我已經使用修整嘗試的結果(」列表的文本文件')命令,但它不會刪除空格。

這是我的原始腳本,它刪除開始和結束處的所有空格以及任何空白行。我需要添加到腳本中以刪除單詞之間的空格?

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命令用一個簡單的正則表達式:

-replace '\s' 

\ S任何空白字符[\ r \ n \噸\ F]

嘗試此匹配:

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

非常感謝您的回覆,但Eduard Uta解決方案對於我的腳本來說不那麼複雜和更好,因爲它是較大腳本的一小部分。 –

相關問題