避免Out-File上的空白行

时间:2016-08-30 16:51:51

标签: powershell

如何避免在Out-File的末尾出现空行?

$DirSearcher = New-Object System.DirectoryServices.DirectorySearcher([adsi]'')
$DirSearcher.Filter = '(&(objectClass=Computer)(!(cn=*esx*)) (!(cn=*slng*)) (!(cn=*dcen*)) )'
$DirSearcher.FindAll().GetEnumerator() | sort-object { $_.Properties.name } `
| ForEach-Object { $_.Properties.name }`
| Out-File -FilePath C:\Computers.txt

我尝试了几个选项,但似乎没有任何选项,最后它们仍然有一个空行。

(get-content C:\Computers.txt) | where {$_ -ne ""} | out-file C:\Computers.txt

$file = C:\Computers.txt    
Get-Content $file | where {$_.Length -ne 0} | Out-File "$file`.tmp"
Move-Item "$file`.tmp" $file -Force

3 个答案:

答案 0 :(得分:2)

使用[IO.File]::WriteAllText

[IO.File]::WriteAllText("$file`.tmp",
                        ((Get-Content $file) -ne '' -join "`r`n"), 
                        [Text.Encoding]::UTF8)

答案 1 :(得分:1)

通常,当您查看字符串是否没有字符数据时,您会想要使用String.IsNullOrWhiteSpace()

Get-Content $file | Where-Object { ![String]::IsNullOrWhiteSpace($_) } | Out-File "$file`.tmp"

答案 2 :(得分:0)

这是使用powershell命令避免txt文件末尾出现空行的最佳解决方案

添加内容C:\ Users \ e5584332 \ Desktop \ CSS.txt“页脚|已处理的唯一数据|| $ count” -NoNewline