powershell out-file如何摆脱每一行的额外空间

ika*_*ask 1 powershell file-io removing-whitespace

我运行此命令,我在names.txt文件中获取所有计算机主机名.文件中的每个主机名都在一个单独的行上,但每个主机名后面都有空格,这在我尝试读取此文件时会导致问题.如何在不获取每行的空格的情况下输出到此文件?

Get-ADComputer -Filter * | Select-Object -property name | Sort-Object -Property name | out-file -filepath C:\temp\names.txt  
Run Code Online (Sandbox Code Playgroud)

Tes*_*ler 6

您遇到的问题是,您不仅拥有名称,还有具有属性"name"的对象,并且您还遇到了在Out-File将复杂对象发送到文件之前通过某种格式运行复杂对象的问题.

要解决这两个问题,请将名称扩展为仅文本,并通常使用Set-Content:

Get-ADComputer -filter * | Select-Object -ExpandProperty Name | Sort-Object | Set-Content C:\temp\names.txt 
Run Code Online (Sandbox Code Playgroud)

或者简短形式

Get-ADComputer -filter * | Select -Expand Name | Sort | sc C:\temp\names.txt 
Run Code Online (Sandbox Code Playgroud)

要么

(Get-ADComputer -filter *).Name | sort | sc C:\temp\names.txt 
Run Code Online (Sandbox Code Playgroud)