當我在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)「' –