2017-04-20 71 views
3

當我在Foreach-Object內使用Write-Host時,輸出中會出現不必要的空間。使用寫主機時輸出中不需要的空間

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

輸出:

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

我怎樣才能約翰之前刪除的空間?修剪不起作用,因爲沒有空間$_.ADUserName

+3

直寫'主持人「http://contoso.com/persona l/$($ _。ADUserName)「' –

回答

6

發生這種情況是因爲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) 
0

只要做到這一點,而不write-host

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

儘管不應該養成使用寫主機的習慣,但我會同意,這種說法並不等同。相反,這個語句相當於使用寫輸出而不是寫主機。 –

相關問題