从python执行DevCon CMD命令

2024-10-01 04:58:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用python脚本中的DevCon重新启动驱动程序。它通过以下命令从命令行工作:

devcon restart \"sd0007322081041363_kcanv\"

我试过了:

^{pr2}$

结果是:

'devcon' is not recognized as an internal or external command

我读到了操作系统已经过时了,我需要使用subprocess.check_输出所以我试试这个:

subprocess.check_output(['devcon', 'restart', '"sd0007322081041363_kcanv"'])

结果是:

WindowsError:[Error 2] The system cannot find the file specified

还有这个:

subprocess.check_output('devcon restart "sd0007322081041363_kcanv"', shell=True)

结果是:

subprocess.CalledProcessError: Command 'devcon restart "sd0007322081041363_kcanv"' returned non-zero exit status 1

还有这个:

subprocess.Popen("devcon restart \"sd0007322081041363_kcanv\"", shell=True, stdout=subprocess.PIPE).stdout.read()

结果:

'devcon' is not recognized as an internal or external command

还有这个:

try:
    subprocess.check_output('devcon disable "sd0007322081041363_kcanv" /f',shell=True,stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
    raise RuntimeError("command '{}' return with error (code {}): {}".format(e.cmd, e.returncode, e.output))

结果是:

RuntimeError: command 'devcon disable "sd0007322081041363_kcanv" /f' return with errpr (cpde 1): 'devcon' is not recognized as an internal or external command, operable program or batch file

在devcon.exe在Windows/System32下,并在系统路径中设置。在

我知道这可能是一个重复的问题,但我已经尝试了很多解决方案,但我不能解决这个问题。在


Tags: oranoutputischeckasnotcommand
1条回答
网友
1楼 · 发布于 2024-10-01 04:58:59

最后,我想出了一个解决办法。我尝试了很多方法,但这对我很有效:

  1. 复制devcon.exe从C:\Windows\System32,并将其放入C:\Windows\SysWOW64。

  2. 我的代码:

    try:
        subprocess.check_output('C:\\Windows\\SysWOW64\\devcon.exe restart "sd0007322081041363_kcanv" /f',shell=True,stderr=subprocess.STDOUT)
    except subprocess.CalledProcessError as e:
        raise RuntimeError("command '{}' return with error (code {}): {}".format(e.cmd, e.returncode, e.output))
    

相关问题 更多 >