【问题标题】:How to open Powershell Console Window from Powershell如何从 Powershell 打开 Powershell 控制台窗口
【发布时间】:2013-03-18 00:49:10
【问题描述】:

我正在编写一个脚本来使用多个 plink (PuTTY) 会话作为 Windows 版本的 clusterssh。但是我被卡住了,因为我想从 powershell 打开多个 Powershell 窗口。当我为 powershell 键入命令时,它会打开一个新会话。这类似于在 bash 中键入 bash。我想要打开多个物理窗口。

我尝试了 -windowstyle 以及其他 args 无济于事。我想知道你是否知道有一种方法。我真的很感谢你的帮助。我看了看,并没有在这里找到任何东西。谢谢你的时间。

【问题讨论】:

    标签: powershell powershell-2.0


    【解决方案1】:

    这将打开一个新窗口。

    要么:

    start-process powershell
    

    或者:

    start powershell
    

    【讨论】:

    • 更简单的是start powershell
    • 这两个命令都保留了旧终端的 CWD!很高兴知道!
    • 可以直接通过-WorkingDirectory设置起始目录。
    • saps powershell 打字更短
    • 奇怪的事情 - 我很久以前就改变了 Powershell 背景颜色(远在今天打开第一个 Powershell 窗口之前!)。当我用这个命令打开一个新窗口时,它具有原来的默认颜色。
    【解决方案2】:

    这样就可以了:

    Invoke-Item C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
    

    【讨论】:

    • 太棒了。像魅力一样工作。感谢您的帮助。
    • 这会将新进程的 CWD 设置为 C:\WINDOWS\system32,至少在我的机器上是这样。
    • 我在打字时差点扭伤了手指……我想念旧的 DOS 启动命令
    • 仅当在当前路径中打开新的 shell 窗口时。
    • 如果有人读到这篇文章,请在底部查看更多赞成票的答案 (here)
    【解决方案3】:

    如果您尝试打开一个新窗口并启动一个新脚本:

    start powershell {.\scriptInNewPSWindow.ps1}
    

    【讨论】:

    • 当您需要启动一系列进程(即 npm)时效果很好。可能有更好的方法,但作为需要快速开始工作的开发人员,这很棒!
    【解决方案4】:

    这对我有用:

    $argList = "-file `"$Location\script.ps1`"" Start-Process powershell -argumentlist $argList

    (反引号是必须的。这可以直接复制。)“-file”参数中可以使用变量(例如在脚本开头设置一个以反映文件的位置)并且可以出现空格由于反引号,在变量中。

    编辑以使用两行解决方案(“$argList”变量),因为 PowerShell 可能会以其他方式破坏事物。

    【讨论】:

      【解决方案5】:

      从 PS 控制台启动 Powershell 6 start pwsh 可能会成功。
      它从同一个文件夹开始。

      (我没有深入研究,但我猜 PS6 的 pwsh.exe 必须在路径中才能工作。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-30
        • 2013-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多