Powershell Эхо-выражение + переменная в одной строке

Я запускаю скрипт и хочу, чтобы он выводил "заявление + переменная + заявление" в конце [в случае успеха]. Я пробовал несколько способов, но он всегда возвращается в виде 3 отдельных строк, вместо одной. Echo "" до и после - это просто для того, чтобы было легче читать при печати, расставляя интервалы, я'пробовал с этим и без, и получаю тот же результат.

$filename = "foo.csv"

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

Я получаю следующее:

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 - это псевдоним для Write-Output, поэтому я использую полное имя.

Комментарии (4)

В powershell можно использовать Write-Host следующим образом:

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

-> The file foo.csv has been processed.
Комментарии (1)