【问题标题】:Finding the "location" of the PowerShell window open查找打开的 PowerShell 窗口的“位置”
【发布时间】:2021-12-14 12:51:17
【问题描述】:

所以我正在使用 VBA 在 PowerPoint 中制作一个小型“编辑器”,我想知道是否有办法获取特定打开的 PowerShell 窗口的位置/文件路径。我希望能够使用 VBA 在特定文件夹中打开 PowerShell。

【问题讨论】:

  • 虽然使用按需安装实用程序,似乎可以获得正在运行的进程的工作目录 - 请参阅 stackoverflow.com/q/20576834/45375 - 不幸的是,这对 PowerShell 没有帮助,因为它维护它自己的工作目录,独立于进程'(并且可以包括非文件系统位置)。所以我不认为你想要做的事情是可能的,至少在没有运行旨在报告 PowerShell 窗口中位置的代码,或者可能是反映 prompt 函数>窗口标题.

标签: vba windows powershell powerpoint powershell-core


【解决方案1】:

你可以直接在VBA中运行PowerShell命令:

Cmd = "PowerShell -Command ""{Your Command}"""
Shell(Cmd, vbNormalFocus)

或者您也可以从文件夹中执行脚本:

Shell("PowerShell ""Script Path"", vbNormalFocus)

因此,也许您可​​以采用的一种解决方法是直接在 VBA 中执行您的 shell,并在您的 VBA cmd 字符串中指定您想要的路径。

另外,我认为this 可以帮助您。

【讨论】:

  • 感谢您的回答,但我想我宁愿让用户更轻松。所以为了运行一些 Python 代码,我想出了这个:vb Sub OpenTerminal() Dim filePath As String filePath = Slide1.Label1.Caption Terminal = Shell("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe ""powershell.exe -Command py filePath""", vbNormalFocus) End Sub 虽然这看起来很好,但它只是使用命令“py filePath”而不是说,py C:\Users\Lenovo\Desktop\PyAtom\convert。 py。我想知道是否有任何解决方法?
  • @BluPY 什么是 slide1.label1.caption ?它是一个 vba 用例吗?
  • 没有标题是文件路径
  • @BluPY 然后做:Shell("PowerShell " & slide1.label1.caption, vbNormalFocus)
猜你喜欢
  • 2013-09-04
  • 1970-01-01
  • 2019-09-28
  • 1970-01-01
  • 2017-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-01
相关资源
最近更新 更多