【问题标题】:Start-Process arguments not working within FunctionStart-Process 参数在函数中不起作用
【发布时间】:2016-10-20 20:36:50
【问题描述】:

好的,所以我一直在寻找一种在 ISE 中运行当前脚本的快速方法,我正在外部 PS 窗口中处理该脚本 - 团队将使用它,所以我想制定格式,并且菜单选项显示正确等

这会在 ISE 中找到当前选项卡文件脚本:

$ArgList = $psISE.CurrentFile.FullPath

这会启动一个新的 Powershell 窗口并运行脚本(如果脚本在路径中有空格,则构造文件参数):

start-process -FilePath powershell.exe -ArgumentList "-file `"$($ArgList.path)`""

连续和交互地运行这两个工作正常

问题是,如果我在这样的函数中运行这两个函数:

Function ISERunInNewWindow {
$ArgList = $psISE.CurrentFile.FullPath
start-process -FilePath powershell.exe -ArgumentList "-file `"$($ArgList.path)`""
}

...它会产生这个错误:

处理 - 文件“”失败:路径不是合法形式。为 -File 参数指定一个有效路径。

我知道我一定遗漏了一些明显的东西,但由于我不经常使用 Powershell,所以这让我无法理解 - 有什么想法吗?

【问题讨论】:

    标签: powershell


    【解决方案1】:

    好的 - 对于任何人的信息 - 这很明显是可疑的。

    修改:

    start-process -FilePath powershell.exe -ArgumentList "-file `"$($ArgList.path)`""
    

    到这里:

    start-process -FilePath powershell.exe -ArgumentList "-file `"$($ArgList)`""
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-16
      • 2019-12-24
      • 2016-08-31
      • 2012-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多