Powershell Out-File输出全部在同一行

时间:2014-12-03 15:31:38

标签: powershell

我有一个powershell脚本,它使用Get-Content cmdlet从文本文件的内容填充变量$Users。然后,我想使用Out-File将此信息附加到另一个文本文件的末尾。但是,目前输出连续添加。我需要的是每个字符串都在它自己的行上。

我已尝试将变量传递到Write-Output cmdlet并在屏幕上正确显示,但当我将其从Write-Output重定向回Out-File cmdlet时,它会附加所有信息再次连续。

$Users = Get-Content "C:\Users\XXXX\Desktop\Password Reset\Users5.txt"<br>
Out-File -InputObject $Users -FilePath "C:\Users\XXXX\Desktop\Password Reset\RefUsers.txt"

2 个答案:

答案 0 :(得分:0)

如果是我,我会用Add-Content来管道。

$Users = Get-Content -Path "C:\Users\XXXX\Desktop\Password Reset\Users5.txt"
$Users | Add-Content -Path "C:\Users\XXXX\Desktop\Password Reset\RefUsers.txt"

注意编码。我相信Add-Content默认使用ascii。此外,如果您没有对数据执行任何操作,则可以一起跳过变量。

GC "C:\Users\XXXX\Desktop\Password Reset\Users5.txt" | 
    AC "C:\Users\XXXX\Desktop\Password Reset\RefUsers.txt"

Gc是Get-Content的别名,而Add-Content

的Ac

答案 1 :(得分:0)

以下是我最终剧本的结果:

$ Users = Get-Content“C:\ Users \ XXXX \ Desktop \ Password Reset \ Users5.txt”
Foreach($ U用户){
添加内容“C:\ Users \ XXXX \ Desktop \ Password Reset \ RefUsers1.txt”“`n $ U”
}

谢谢马特!