对 PS 很陌生。我尝试过 RTFM,但我偏离了太多主题。我很感谢您的想法、指点等。
我有四个桌面快捷方式,每个快捷方式都密切相关。我以为我知道我会运行一个 DoS 批处理文件来依次执行这些操作;这导致我加载 PS ISE(x86)。 现在我有一个调用 PS1 的批处理文件。但脚本失败了。
代码是:
Start-Process -FilePath "C:\Program Files\Fldigi-4.2.05\fldigi.exe" --config-dir "C:\Users\sktho\fldigi-configs\fldigiIC7300"
这会导致以下结果[是否可能是双破折号 --config ]
Start-Process : A positional parameter cannot be found that accepts argument 'C:\Users\sktho\fldigi-configs\fldigiIC7300'.
At line:1 char:2
+ Start-Process -FilePath "C:\Program Files\Fldigi-4.2.05\fldigi.exe" ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Start-Process], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand
我找到了这个和其他
FullyQualifiedErrorId:PositionalParameterNotFound、Add-DistributionGroupMember 文字
but to be honest I don't understand, I have tried many permutations of quote ' ' " " and
dashes
The Desktop Shortcut lnk works fine with
Target: `"C:\Program Files\Fldigi-4.2.05\fldigi.exe" --config-dir "C:\Users\sktho\fldigi-configs\fldigiIC7300"`
Start in: `"C:\Program Files\Fldigi-4.2.05"`
问题的解决方案是使用 Start-process -Argumentist 参数,以逗号分隔:
Start-Process -FilePath "C:\Program Files\Fldigi-4.2.05\fldigi.exe" -ArgumentList "--config-dir","C:\Users\sktho\fldigi-configs\fldigiIC7300"