Есть несколько решений. Вот некоторые из них, которые попали мне в середину:
$printString='$($_.name),$($_.name)'
Get-ChildItem | % { $ExecutionContext.InvokeCommand.ExpandString($printString) }
$formatString='{0},{0}'
Get-ChildItem | % { $formatString -f $_.Name }
$s = {param($file) $file.Name + "," + $file.Name }
Get-ChildItem | % { & $s $_ }
Первый расширяет строку, и это, вероятно, то, что вы хотели. Обратите внимание, что составные переменные должны быть заключены в $(..)
. Второй просто форматирует некоторый ввод. Третий использует скрипт-блок, там вы можете создать любую строку, какую захотите (самая мощная)