【问题标题】:How to run cmd command using Python 3?如何使用 Python 3 运行 cmd 命令?
【发布时间】:2019-06-28 01:47:15
【问题描述】:

要求 - 我想在 Python 脚本中以管理员身份从 CMD 触发命令“service.bat install”。 到目前为止,我正在使用以下代码,它正在打开一个新窗口以请求允许说是。

source_path = 'C:\\JBoss_Playground\\wildfly-10.1.0.Final\\bin\\service'
cmd_command = 'service.bat install'
os.chdir(source_path)
subprocess.call(cmd_command, shell=True)

现在,我想在 Windows 服务器上使用管理员权限在后台运行上述命令。这是一个自动化 JBoss/Wildfly 应用程序服务配置的模块。

感谢您的帮助。 谢谢!!

【问题讨论】:

  • 检查一下 [以管理员身份运行] (sevenforums.com/general-discussion/…) 您先运行此命令,然后再运行其他所有命令。 *注意:您的问题必须是将用户更改为管理员的命令。

标签: python python-3.x windows scripting jboss


【解决方案1】:

您是否尝试过使用runas 命令?您可以更改为管理员模式。请检查此runas syntax

【讨论】:

    【解决方案2】:

    我用过:

    os.system('your command')
    

    要以管理员身份启动它,我认为 python 脚本必须以 root 身份执行。对于后台进程... 在我的项目中,我使用了:

    import subprocess
    proc = subprocess.Popen('cmd.exe', stdin = subprocess.PIPE, stdout = subprocess.PIPE)
    stdout, stderr = proc.communicate('dir c:\\')
    stdout```
    
    I tryed in python idle and it returns:
    'Microsoft Windows [Version 6.1.7600]...'
    
    
    

    【讨论】:

    • 上面的代码看起来不错,下面是我现在的python代码- path = 'C:\\JBoss_Playground\\wildfly-10.1.0.Final\\bin\\service' os .chdir(path) proc = subprocess.Popen('service.bat install', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, err = proc.communicate(proc) print(out) 现在,问题是此代码执行仍在询问我有关 Windows 权限是否说“是”以运行命令“service.bat install”,因为该命令需要以管理员身份使用 CMD 运行。请建议......!!
    猜你喜欢
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 2011-07-12
    • 2020-09-18
    • 2015-07-01
    • 2017-06-16
    相关资源
    最近更新 更多