使用Write-Host时输出中不必要的空间

时间:2017-04-20 23:49:05

标签: powershell

当我在Write-Host中使用Foreach-Object时,我会在输出中获得不必要的空格。

write-host "http://contoso.com/personal/"$_.ADUserName

输出:

http://contoso.com/personal/ john.doe

如何在约翰之前移除空间?修剪不起作用,因为$_.ADUserName

中没有空格

2 个答案:

答案 0 :(得分:7)

这种情况正在发生,因为Write-Host正在考虑你的常量字符串,而你的对象是两个独立的参数 - 你实际上并没有按照你调用它的方式将字符串连接在一起。而不是以这种方式调用它,实际上连接字符串:

write-host "http://contoso.com/personal/$($_.ADUserName)"

write-host ("http://contoso.com/personal/" + $_.ADUserName)

write-host ("http://contoso.com/personal/{0}" -f $_.ADUserName)

答案 1 :(得分:0)

只需在没有write-host的情况下执行此操作:

"http://contoso.com/personal/{0}" -f $_.ADUserName