【发布时间】:2014-05-26 21:24:41
【问题描述】:
谁能告诉我在以下情况下如何避免这个错误?
$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
理想情况下,最好使用尽可能少的代码来做到这一点。
【问题讨论】:
标签: powershell powershell-3.0 powershell-4.0