2011-02-28 66 views
37

如何在控制檯之後沒有空格地寫入變量?有問題,當我嘗試:在PowerShell中連接一個沒有空格的變量和字符串文字

$MyVariable = "Some text" 
Write-Host "$MyVariableNOSPACES" 

我想下面的輸出:

Some textNOSPACES 
+0

呀,爲所有的聯合國/拳擊快捷方式PowerShell的*咳嗽*「允許」,你會認爲,除非你有一個名爲'$ MyVariableN變量'(或另一次碰撞)PS會發現你的意思。沒有骰子。 – ruffin 2014-12-05 19:22:16

回答

46

另一種選擇,可能更規範的方式是使用大括號劃定名稱:

$MyVariable = "Some text" 
Write-Host "${MyVariable}NOSPACES" 

這是特別得心應手例如路徑${ProjectDir}Bin\$Config\Images。但是,如果在變量名後面有一個\,那足以讓PowerShell認爲不是的部分變量名。

18

您需要包裝在$()

例如變量,Write-Host "$($MyVariable)NOSPACES"

+0

在我的測試中,在變量和字符串之間放置了一個空格。 – 2011-02-28 16:51:31

+2

這就是我所看到的:'$ MyVariable =「一些文本」''寫 - 主機「$($ MyVariable)NOSPACES」'一些文本NOSPACES – ravikanth 2011-02-28 16:54:17

7
Write-Host $MyVariable"NOSPACES" 

會工作,雖然看起來很奇怪......我會去的:

Write-Host ("{0}NOSPACES" -f $MyVariable) 

但是,這只是我...

+0

第一種解決方案適用於我。 – 2011-02-28 16:52:06

+2

我總是比較喜歡第二種選擇。我也認爲這只是我:-) – 2011-02-28 21:46:22

1

最簡單的辦法:寫主機$ MyVariable的「NOSPACES」

+0

它的工作原理,但PowerShell不會讓你插入變量和字符串文字之間的多個空格。 – 2012-07-20 12:04:31

+0

爲什麼不把空格*移動到字符串文字? '寫主機$ MyVariable「NOSPACES」'? – ruffin 2014-12-05 19:26:55

相關問題