jenkins 如何處理windows batch command


這兩天一直被一個問題困擾。

在jenkins的windows batch command 測試好的,拿到bat文件中,再從Execute Windows Batch command 中調用這個bat,竟然離奇的報錯了。

 

為什么呢?

先介紹一下場景和代碼的邏輯。測試好的代碼:

CD %ROOTPATH%
.\Tools\Bin\Python26\python.
exe .\Tools\PythonScripts\SendMail.py %AUTOBUILD_PATH%\Charts mail@mail.com "Test" Config_AutoTest_AutoShooting*.png AutoShootingIndex.htm 

其實 AUTOBUILD_PATH 是一個路徑,以"\" 為分隔符,准確來說,在python而言,是一個raw的路徑字符串。 SendMail會去這個路徑下walk,或者listdir,找到文件並讀取后處理發郵件給mail@mail.com

報錯信息:

在網上,看到關於這個多出來的*.* 的解釋:

http://bbs.chinaunix.net/thread-3577853-1-1.html  這篇文章介紹的不錯,看了下大概明白了問題。

但是,如何解決我的問題,而我的問題關鍵,又是如何產生的呢?

我試過如果os.listdir 如果傳入的參數是 raw字符串的"\", 則是成功的,我找到這個,試圖將path 轉換成raw字符串。結果測試不能通過。

http://code.activestate.com/recipes/65211-convert-a-string-into-a-raw-string/

 

看來估計是jenkins 搞的鬼。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM