2017-03-17 2358 views
1

我正在运行一个脚本,我希望它在最后[成功时]打印“语句+变量+语句”。我已经尝试了一些东西,但它总是返回为3个单独的行,而不是一个。 Echo“”之前和之后的版本只是为了让它更易于阅读,而且通过将它们间隔出来进行打印,我已经尝试过,并且得到了相同的结果。Powershell Echo语句+变量在一行

$filename = "foo.csv" 

    echo "" 
    echo "The file" $filename "has been processed." 
    echo "" 

我得到这个:

The file 
foo.csv 
has been processed. 
+1

可能重复[如何在PowerShell中连接字符串和变量?](http://stackoverflow.com/questions/15113413/how-to-concatenate-strings-and-variables-in-powershell) – BioGenX

回答

7

如果使用双引号,你可以在直接引用变量因为它们允许可变扩展,而单引号不允许这样做。

$filename = "foo.csv" 
Write-Output "The file $filename has been processed." 

-> The file foo.csv has been processed. 

此外,echo其实只是Write-Output一个别名,所以我用的全名。

+0

太简单了。我被抛弃了,因为它变灰了。我认为它正在转换为纯文本。谢谢。 – physlexic

+1

我肯定会推荐阅读[双引号对单引号](http://jon.netdork.net/2015/09/08/powershell-and-single-vs-double-quotes/),这样一个小东西可以有一个非常大的影响:) –

+1

这不能正常工作与$ args [0]如果他们很少 - 它打印所有参数:/ –

3

在PowerShell中,你可以用写主机如下:

$filename = "foo.csv" 
Write-Host 'The file' $filename 'has been processed.' 

-> The file foo.csv has been processed.