我有一個批處理腳本,它在執行後會生成一個配置文件,生成的配置文件裏面有一些數據。當我從命令提示符如下執行它,我得到所需的輸出:爲什麼如果從python腳本執行批處理文件不工作,或者如果通過雙擊執行批處理文件?
C:/> start.bat
但如果我嘗試如下,或從python腳本執行即使我雙擊並執行它我得到的配置文件,但它不包含任何所需的數據,它只是有「0」裏面:
import subprocess as sp
p= sp.Popen("C:/pathtobatch/start.bat",stdin=sp.PIPE, stdout = sp.PIPE, stderr=sp.PIPE)
裏面的批處理腳本(的start.bat)其實我執行python腳本和檢索其數據的配置文件,如下所示:
python C:\inetpub\ftproot\sample.py > log.txt
set myvar =< log.txt
del log.txt
echo %errorlevel% %myvar% >C:\inetpub\ftproot\config.txt
我需要從python腳本執行batch(start.bat)並生成具有所需數據的config.txt文件。那麼,我該怎麼做。 爲什麼start.bat工作不正常,如果我雙擊它,爲什麼它工作正常,如果我從命令提示符執行它。
在蝙蝠末端放置'暫停'並嘗試雙擊。 – WhoAmI
@WhoAmI不,它也不會通過添加暫停也woking。:/ – Learner
無處不在指定完整路徑。這個關於執行環境配置的毫無意義的問題一遍又一遍地提出。明確指出你想要發生的事情。 '%userprofile%\ desktop'通常是用戶的桌面。 – 2016-03-28 07:22:56