Не могли бы вы рассказать мне, как избежать этой ошибки в приведенном ниже обстоятельстве?Powershell - «Выражения разрешены только в качестве первого элемента конвейера»
$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 - это первый элемент в трубопроводе (и все еще быть в состоянии передавать данные на него по трубопроводу).
$PowerShellRepresentation = dir -path $MyMusicFolder -recurse -include *.mp3,*.m4a,*.wma,*.flac,*.ape | select -ExpandProperty FullName | .\codegen.exe -s 10 20 | Out-String | ConvertFrom-Json
в идеале было бы неплохо, чтобы сделать это, используя наименьшее количество кода, как это возможно.