Powershell Echo语句+;一行中的变量
我正在运行一个脚本,我希望它在最后[成功时]打印一个“语句+变量+语句”。我尝试了一些方法,但它总是以三行而不是一行的形式返回。前后的回音“”只是为了让打印时更容易阅读,将其隔开,我尝试了有无回音,得到了相同的结果Powershell Echo语句+;一行中的变量,powershell,echo,Powershell,Echo,我正在运行一个脚本,我希望它在最后[成功时]打印一个“语句+变量+语句”。我尝试了一些方法,但它总是以三行而不是一行的形式返回。前后的回音“”只是为了让打印时更容易阅读,将其隔开,我尝试了有无回音,得到了相同的结果 $filename = "foo.csv" echo "" echo "The file" $filename "has been processed." echo "" 我明白了: The file foo.csv has been processed.
$filename = "foo.csv"
echo ""
echo "The file" $filename "has been processed."
echo ""
我明白了:
The file
foo.csv
has been processed.
在powershell中,您可以按如下方式使用写主机:
$filename = "foo.csv"
Write-Host 'The file' $filename 'has been processed.'
-> The file foo.csv has been processed.
如果使用双引号,可以直接在字符串中引用变量,因为它们允许变量展开,而单引号不允许展开
$filename = "foo.csv"
Write-Output "The file $filename has been processed."
-> The file foo.csv has been processed.
而且,
echo
实际上只是写入输出的别名,所以我使用了全名。可能是如此简单的重复。我被甩了,因为它变灰了。我以为它正在转换成纯文本。谢谢。我当然建议大家阅读,这样一件小事可能会产生很大的影响:)如果$args[0]很少,它就不能正常工作-它的print it all args://@GorodeckijDimitrij是的,数组和字符串需要以不同的方式处理。当写出对象时,Write Host
会给出对象的类型,不是它的内容。最好使用写入输出
请在回答中添加说明
echo ("The file "+ $filename +" has been processed.")