python調(diào)用帶空格的windows?cmd命令問題及連續(xù)運(yùn)行多個(gè)命令方式
python調(diào)用帶空格的windows cmd命令及連續(xù)運(yùn)行多個(gè)命令
之前在利用winrm完成遠(yuǎn)程控制windows并執(zhí)行cmd,初步成功后又遇到了兩個(gè)問題:
1.當(dāng)路徑中含有空格時(shí),cmd命令不能正常運(yùn)行
2.如果需要多個(gè)命令連續(xù)執(zhí)行時(shí)會(huì)出現(xiàn)問題
后來找到了解決方法:
1.對(duì)于含有空格的路徑,可以采用使用在路徑外加雙引號(hào)
如:
cd "D:\\Program Files\\The Epsilon Group\\DMMS.R\\simulator"
2.若要連續(xù)執(zhí)行多條命令,只要在上一條末尾加“&”即可
如:
'D: & cd "D:\\Program Files\\The Epsilon Group\\DMMS.R\\simulator"'
這條命令就是先到D盤然后再到響應(yīng)路徑
完整的:
import winrm # r = s.run_cmd('cd /d d: & dir') # 鏈接服務(wù)器 需要在服務(wù)器端開啟WINRM服務(wù),具體如何開啟百度 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執(zhí)行cmd命令,上一個(gè)命令結(jié)束之后再執(zhí)行下一個(gè)命令
python 執(zhí)行cmd命令運(yùn)行you-get下載多個(gè)文件時(shí),突然發(fā)現(xiàn)所有的命令一下子都執(zhí)行了。
前面的命令還沒有執(zhí)行完成,后面的命令可能早就執(zhí)行結(jié)束了。
為了實(shí)現(xiàn):
上一個(gè)命令結(jié)束之后再執(zhí)行下一個(gè)命令,讓cmd命令按順序依次執(zhí)行
try: subprocess.getoutput("you-get " + url) #os.popen("you-get "+url).read() except: pass
因?yàn)橄螺d內(nèi)容會(huì)使得read() 拋出錯(cuò)誤,所以添加異常處理。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python3使用騰訊企業(yè)郵箱發(fā)送郵件的實(shí)例
今天小編就為大家分享一篇python3使用騰訊企業(yè)郵箱發(fā)送郵件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06Python數(shù)據(jù)分析入門之教你怎么搭建環(huán)境
本篇文章要有一定的Python基礎(chǔ),知道列表,字符串,函數(shù)等的用法. 文中有非常詳細(xì)的代碼示例,對(duì)正在入門python數(shù)據(jù)分析的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05django開發(fā)post接口簡(jiǎn)單案例,獲取參數(shù)值的方法
今天小編就為大家分享一篇django開發(fā)post接口簡(jiǎn)單案例,獲取參數(shù)值的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12Python使用tkinter模塊實(shí)現(xiàn)GUI界面的學(xué)生信息管理系統(tǒng)流程分步詳解
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)易學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2023-01-01Python的Flask框架中@app.route的用法教程
這篇文章主要介紹了Python的Flask框架中@app.route的用法教程,包括相關(guān)的正則表達(dá)式講解,是Flask學(xué)習(xí)過程當(dāng)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-03-03