"README.md" -Force
$outFile = "${inFile}.bak"
$sb = { $null = Copy-Item $inFile $outFile -Verbose }; $sb.ToString(); $sb.Invoke();
выводит
$null = Copy-Item $inFile $outFile -Verbose
VERBOSE: Performing the operation "Copy File" on target "Item: C:\Users\victor\README.md Destination: C:\Users\victor\README.md.bak".
Aх так! Ну ладно
$ExecutionContext.InvokeCommand.ExpandString($sb.ToString())
= Copy-Item C:\Users\victor\README.md C:\Users\victor\README.md.bak -Verbose Опять не то, чтоб ему! Вот так что ли?
$str = $sb.ToString() -replace '(\$)(?=(null|true|false|_))', '`$1'
$ExecutionContext.InvokeCommand.ExpandString($str)
Как-то костыльно. Прокомментируете?
зачем ты сюда приплёл скриптблок, напомни?
Это отдельный разговор. Я делаю обёртку над Invoke-Command. Мне нужно часто вызывать команды и одинаково вокруг них писать что-то. Естественно, моя функция [scriptblock] принимает. Помимо прочего - команду хочу вывести на info.
Обсуждают сегодня