PowerShell - «Выражения разрешены только как первый элемент трубопровода»

StackOverflow https://stackoverflow.com//questions/23034328

Вопрос

Может ли кто-нибудь сказать мне, как избежать этой ошибки в нижестоящем обстоятельствах?

$codegenDir = "Z:\Desktop\Song-Renamer"
$PowerShellRepresentation = dir -path $MyMusicFolder -recurse -include *.mp3,*.m4a,*.wma,*.flac,*.ape | select -ExpandProperty FullName | $codegenDir\codegen.exe -s 10 20 | Out-String | ConvertFrom-Json
.

Что полностью озадачивает мне, если просто опустить $ Codegendir (см. Ниже), код работает правильно.Я «думаю», я понимаю концепцию размещения выражения сначала (впереди других предметов в трубопроводе. Но я не уверен, как переставить / разделить этот код, так что выражение в вопросе Codegen.exe Внешняя командная линия / EM> - первый элемент в трубопроводе (и все еще сможет передавать данные к ней через трубопровод).

$PowerShellRepresentation = dir -path $MyMusicFolder -recurse -include *.mp3,*.m4a,*.wma,*.flac,*.ape | select -ExpandProperty FullName | .\codegen.exe -s 10 20 | Out-String | ConvertFrom-Json
.

В идеале было бы неплохо сделать это, используя наименьшее количество кода.

Это было полезно?

Решение

Дайте следующий выстрел (только разница - это и):

$PowerShellRepresentation = dir -path $MyMusicFolder -recurse -include *.mp3,*.m4a,*.wma,*.flac,*.ape | select -ExpandProperty FullName | & $codegenDir\codegen.exe -s 10 20 | Out-String | ConvertFrom-Json
.

Вот Ссылка Статья Technet о выполнении команд в PowerShell по-разному.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top