2016-08-30 10 views
2

アウトファイルの最後に空白行が表示されないようにするにはどうすればよいですか?アウトファイルの空白行を避ける

$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 

答えて

2

使用[IO.File]::WriteAllText:あなたは文字列が何文字データを持っていないかどうかを確認するために探しているとき

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

検査するデバッガを使用しますその価値。 '$ file'が空でないことを確認してください。 – wOxxOm

1

多くの場合、あなたはString.IsNullOrWhiteSpace()を使用したいと思うでしょう:

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