当我在Foreach-Object
内使用Write-Host
时,输出中会出现不必要的空间。使用写主机时输出中不需要的空间
write-host "http://contoso.com/personal/"$_.ADUserName
输出:
http://contoso.com/personal/ john.doe
我怎样才能约翰之前删除的空间?修剪不起作用,因为没有空间$_.ADUserName
当我在Foreach-Object
内使用Write-Host
时,输出中会出现不必要的空间。使用写主机时输出中不需要的空间
write-host "http://contoso.com/personal/"$_.ADUserName
输出:
http://contoso.com/personal/ john.doe
我怎样才能约翰之前删除的空间?修剪不起作用,因为没有空间$_.ADUserName
发生这种情况是因为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)
只要做到这一点,而不write-host
:
"http://contoso.com/personal/{0}" -f $_.ADUserName
尽管不应该养成使用写主机的习惯,但我会同意,这种说法并不等同。相反,这个语句相当于使用写输出而不是写主机。 –
直写'主持人“http://contoso.com/persona l/$($ _。ADUserName)“' –