参数传递给脚本中的可执行文件

时间:2019-08-12 13:47:16

标签: powershell

我想知道为什么一种方法有效而另一种无效

不确定如何尝试

1.

$syspinEXE = "Z:\syspin.exe"
$programDataPath = "C:\ProgramData\Microsoft\Windows\Start Menu\Programs"
&$syspinEXE "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Word 2016.lnk" 5386


2.

$syspinEXE = "Z:\syspin.exe"
$programDataPath = "C:\ProgramData\Microsoft\Windows\Start Menu\Programs"
&$syspinEXE "$programDataPath","Word 2016.lnk" -join "\" 5386

我想知道为什么第一个代码片段有效,而第二个代码片段无效。我相信它们都应该起作用,但这显然是不正确的。

1 个答案:

答案 0 :(得分:1)

建议:

$startMenuPath = [Environment]::GetFolderPath([Environment+SpecialFolder]::CommonStartMenu)
Get-ChildItem $startMenuPath -Filter "Word 2*" -Recurse |
  Select-Object -First 1 | ForEach-Object {
    & $_.FullName 5386
  }