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



我有一个Powershell脚本,该脚本使用Get-Content cmdlet从文本文件的内容填充变量$Users。 然后,我想使用Out-File将此信息附加到其他文本文件的末尾。 但是,当前输出全部追加在一行中。 我需要的是让每个字符串都在它自己的行上。

我尝试将变量管道连接到 Write-Output cmdlet 中,它正确显示在屏幕上,但是当我将其从Write-Output重定向回 Out-File cmdlet 时,它会再次将所有信息附加到一行中。

$Users = Get-Content "C:UsersXXXXDesktopPassword ResetUsers5.txt"<br>
Out-File -InputObject $Users -FilePath "C:UsersXXXXDesktopPassword ResetRefUsers.txt"

如果是我,我会用烟斗Add-Content

$Users = Get-Content -Path "C:UsersXXXXDesktopPassword ResetUsers5.txt"
$Users | Add-Content -Path "C:UsersXXXXDesktopPassword ResetRefUsers.txt"

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

GC "C:UsersXXXXDesktopPassword ResetUsers5.txt" | 
    AC "C:UsersXXXXDesktopPassword ResetRefUsers.txt"

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

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

$Users = 获取内容 "C:\用户\XXXX\桌面\密码重置\用户5.txt"
Foreach($U in $Users){
添加内容 "C:\Users\XXXX\Desktop\Password Reset\RefUsers1.txt" "'n$U"

}
谢谢马特!

最新更新