2016-04-29 146 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解决方案对于我的脚本来说不那么复杂和更好,因为它是较大脚本的一小部分。 –

相关问题