我是powershell的一个菜鸟,仍然在努力学习脚本,但却在基础知识上磕磕绊绊。 我有一个包含网站列表的文本文件
Default Websites
Power Shell
Hello World
我需要删除单词之间的空格,以便我得到下面的结果
DefaultWebsites
PowerShell
HelloWorld
我尝试过使用Trim('')命令但是没有删除空格。
这是我的原始脚本,它删除了开头和结尾处的所有空格以及任何空白行。我需要添加到脚本中以删除单词之间的空格?
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
提前谢谢你。我感谢任何帮助。
答案 0 :(得分:3)
我会采用这种方法(英雄是替换功能):
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
答案 1 :(得分:2)
您可以将-replace
命令与简单的正则表达式一起使用:
-replace '\s'
\ s匹配任何空白字符[\ r \ n \ t \ f]
试试这个:
[System.IO.File]::WriteAllText(
'C:\website.txt',
([System.IO.File]::ReadAllText('C:\website.txt') -replace '\s')
)