【问题标题】:How we can execute below Command Prompt Script from the Python我们如何从 Python 执行以下命令提示符脚本
【发布时间】:2019-07-19 10:11:03
【问题描述】:

"C:\Users\AppData\Local\UiPath\app-19.7.0\UiRobot.exe" /file "C:\Users\Documents\UiPath\ThirdProcess\Main.xaml"

我只需要从 CMD 执行这个脚本,因为我正在我的 python 代码中创建其他 API。

我希望使用此脚本执行来运行一个 RPA 机器人,然后我将从 python API 代码执行其他数据获取任务。

【问题讨论】:

  • 首先使用os.environ.get or os.getenv获取Windows environment variable的字符串值LOCALAPPDATA,其中保存了当前用户的本地应用程序数据路径的路径。我怀疑是否真的存在C:\Users\AppData\Local\UiPath\app-19.7.0\UiRobot.exe,因为此路径中缺少帐户名。将此字符串与\UiPath\app-19.7.0\UiRobot.exe 连接以获得要运行的可执行文件的完整限定文件名。
  • 接下来再次使用os.getenv 获取Windows 环境变量USERPROFILE 的字符串值并将其与字符串\Documents\UiPath\ThirdProcess\Main.xaml 连接以获取XAML 文件的完整限定文件名。接下来对两个文件名使用os.path.isfile 两次以验证可执行文件和XAML 文件是否确实存在。然后使用subprocess 模块以 XAML 文件作为参数运行可执行文件。
  • 如果您认为阅读 Python 文档不值得花时间(这绝对不是真的),您也可以在 Stack Overflow 上找到针对此任务的几行 Python 代码的相关问题和答案。参见例如How to access environment variable values?How do I check whether a file exists without exceptions?Python subprocess call with arguments having multiple quotations
  • @Mofi ,是的 同意上述观点,我需要首先考虑为任何问题建立或最终确定一种方法。 python 和 stack-overflow 的新手,现在会养成这样的习惯。谢谢你 。是的,我确实很难理解 Python 官方文档。

标签: python cmd


【解决方案1】:

我不完全确定你想用这些程序做什么,但看起来你可以使用 Popen。有类似的帖子here 想看的话。

import subprocess
myCmd = "C:\Users\AppData\Local\UiPath\app-19.7.0\UiRobot.exe"
subprocess.Popen(myCmd)

如果你有多个命令,你可以遍历一个列表

import subprocess
myCmds = ["C:\Users\AppData\Local\UiPath\app-19.7.0\UiRobot.exe", "C:\Users\Documents\UiPath\ThirdProcess\Main.xaml"]
for Cmd in myCmds:
    subprocess.Popen(Cmd)

【讨论】:

  • 嗨@Isaiah,是的,我需要使用子进程模块的Popen。但是下面的脚本对我不起作用,我需要将所有 3 段代码单行传递给 commad 提示符。以文件位置为参数运行一个 .exe 文件。请帮我在这里 import subprocess subprocess.popen(["C:\Users\AppData\Local\UiPath\app-19.7.0\UiRobot.exe", "/file", "C:\Users\Documents\UiPath\ThirdProcess \Main.xaml"]) 这一行在命令提示符下工作正常:- "C:\Users\AppData\Local\UiPath\app-19.7.0\UiRobot.exe" /file "C:\Users\Documents\ UiPath\ThirdProcess\Main.xaml"
  • 我不知道如何在 python 中添加 /file 但您可以制作一个批处理文件并通过 python makeuseof.com/tag/… 或带有 /file 参数的快捷方式启动它
【解决方案2】:

下面的代码帮助我实现了这个功能。

subprocess.call([
    'C:\\Users\\shubham\\AppData\\Local\\UiPath\\app-19.7.0\\UiRobot.exe',
    '/file',
    'C:\\Users\\shubham\\Desktop\\FinalOCR\\InvoiceAutomation\\PDFReadwithNative.xaml'
])

谢谢大家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    • 2017-03-10
    • 1970-01-01
    相关资源
    最近更新 更多