python调用带空格的windows cmd命令问题及连续运行多个命令方式
作者:wavehaha
这篇文章主要介绍了python调用带空格的windows cmd命令问题及连续运行多个命令方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
python调用带空格的windows cmd命令及连续运行多个命令
之前在利用winrm完成远程控制windows并执行cmd,初步成功后又遇到了两个问题:
1.当路径中含有空格时,cmd命令不能正常运行
2.如果需要多个命令连续执行时会出现问题
后来找到了解决方法:
1.对于含有空格的路径,可以采用使用在路径外加双引号
如:
cd "D:\\Program Files\\The Epsilon Group\\DMMS.R\\simulator"
2.若要连续执行多条命令,只要在上一条末尾加“&”即可
如:
'D: & cd "D:\\Program Files\\The Epsilon Group\\DMMS.R\\simulator"'
这条命令就是先到D盘然后再到响应路径
完整的:
import winrm # r = s.run_cmd('cd /d d: & dir') # 链接服务器 需要在服务器端开启WINRM服务,具体如何开启百度 s = winrm.Session('http://ip:5985/wsman', auth=('user', 'password')) r = s.run_cmd('D: & cd "D:\\Program Files\\The Epsilon Group\\DMMS.R\\simulator"') print(r.std_out)
python执行cmd命令,上一个命令结束之后再执行下一个命令
python 执行cmd命令运行you-get下载多个文件时,突然发现所有的命令一下子都执行了。
前面的命令还没有执行完成,后面的命令可能早就执行结束了。
为了实现:
上一个命令结束之后再执行下一个命令,让cmd命令按顺序依次执行
try: subprocess.getoutput("you-get " + url) #os.popen("you-get "+url).read() except: pass
因为下载内容会使得read() 抛出错误,所以添加异常处理。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。