スペースを入れずにコンソールに変数を書き込むにはどうすればよいですか?私がしようとすると問題があります:
$MyVariable = "Some text"
Write-Host "$MyVariableNOSPACES"
次の出力が欲しい:
Some textNOSPACES
別のオプションと、おそらくより標準的な方法は、中括弧を使用して名前を記述することです。
$MyVariable = "Some text"
Write-Host "${MyVariable}NOSPACES"
これは、パスなどに特に便利です。 ${ProjectDir}Bin\$Config\Images
。ただし、変数名の後に\
がある場合、PowerShellでnotが変数名の一部であると見なすのに十分です。
変数を$()でラップする必要があります
たとえば、Write-Host "$($MyVariable)NOSPACES"
Write-Host $MyVariable"NOSPACES"
動作しますが、非常に奇妙に見えますが...
Write-Host ("{0}NOSPACES" -f $MyVariable)
しかし、それは私だけです...
次のように、バックティック`
を使用することもできます。
Write-Host "$MyVariable`NOSPACES"
最も簡単なソリューション:Write-Host $ MyVariable "NOSPACES"
$ Variable1 = 'www.google.co.in /'
$ Variable2 = 'Images'
書き込み出力($ Variable1 + $ Variable2)
速度が重要な場合...
$MyVariable = "Some text"
# slow:
(measure-command {foreach ($i in 1..1MB) {
$x = "$($MyVariable)NOSPACE"
}}).TotalMilliseconds
# faster:
(measure-command {foreach ($i in 1..1MB) {
$x = "$MyVariable`NOSPACE"
}}).TotalMilliseconds
# even faster:
(measure-command {foreach ($i in 1..1MB) {
$x = [string]::Concat($MyVariable, "NOSPACE")
}}).TotalMilliseconds
# fastest:
(measure-command {foreach ($i in 1..1MB) {
$x = $MyVariable + "NOSPACE"
}}).TotalMilliseconds