如何执行' netsh'命令通过subprocess.check_output()

时间:2018-03-20 12:25:13

标签: python python-2.7 netsh

我正在运行一个批处理文件,该文件又运行一个python文件。我想执行netsh命令将IPv4设置从static更改为dhcp,反之亦然。

当我运行以下代码时,它会执行并返回而不会出现任何错误

import subprocess
cmd = "netsh interface ip show config"
output = subprocess.check_output(cmd)
print output

但是当我通过批处理文件执行这段代码时,python文件以退出状态1退出。

import subprocess
cmd = '''netsh interface ip set address "Local Area Connection 9" dhcp'''
output = subprocess.check_output(cmd)
print output

它会抛出错误

  

Python:无法打开文件' Update_DHCP.py':[Errno 2]没有这样的文件或目录

python文件和批处理文件位于同一个文件夹中,根据我对更新dhcp Ip的理解,需要管理员权限。我甚至运行.bat文件作为'以管理员身份运行'但得到了错误[Errno 2]

我还尝试使用任务计划程序创建任务,以授予.bat文件的管理员权限并运行它。但是,它仍然适合我。

任何人都可以使用subprocess.check_output()来帮助我执行命令,因为我想使用check_output()调用返回的输出。任何帮助将不胜感激。

我在Windows上工作,我的python版本是2.7

0 个答案:

没有答案
相关问题