这两天一直被一个问题困扰。

在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 搞的鬼。

jenkins 如何处理windows batch command的更多相关文章

  1. Build step 'Execute Windows batch command' marked build as failure

    坑爹的Jenkis,在执行windows命令编译.NET项目的时候命令执行成功了,但是却还是报了这样一个错: Build step 'Execute Windows batch command' ma ...

  2. Jenkins+ProGet+Windows Batch搭建全自动的内部包(NuGet)打包和推送及管理平台

    这一篇文章是继http://www.cnblogs.com/EasonJim/p/5954155.html的升级版,由于CCNET已经过时,所以我把打包过程的CCNET工具换成Jenkins去实现,批 ...

  3. Windows batch,echo到文件不成功,只打印出ECHO is on.

    jenkins 执行Windows batch command的时候,如果想要读写文件,echo到文件不成功. bat 代码如下: set ctime=%date%_%time% echo %ctim ...

  4. 安装在Linux下的jenkins执行windows下的bat命令

    launch method里面没有 launch agent via java web start 默认是disable 需要改成random 转载自: http://blog.csdn.net/so ...

  5. git+jenkins在windows机器上新建一个slave节点【转载】

    转至博客:上海-悠悠 前言 我们在跑自动化项目的时候,希望有单独的测试机能跑自动化项目,并且能集成到jenkins上构建任务.如果公司已经有jenkins环境了,那无需重新搭建. 只需在现有的平台基础 ...

  6. windows batch语法

    windows BATCH基本知识扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件. ==== 注 =============================== ...

  7. Use windows batch script to create menu

    Background Recently, I find that we need  to  type some very long gradle commands to run build, chec ...

  8. 深入浅出Windows BATCH

    1.什么是Windows BATCH BATCH也就是批处理文件,有时简称为BAT,是Windows平台上的一种可运行脚本,与*nix(Linux和Unix)上的Shell脚本和其它的脚本(Perl, ...

  9. Jenkins 为Jenkins添加Windows Slave远程执行python项目脚本

    为Jenkins添加Windows Slave远程执行python项目脚本   by:授客 QQ:1033553122 测试环境 JAVA JDK 1.7.0_13 (jdk-7u13-windows ...

随机推荐

  1. android App抓包工具的应用(转)

    安装好 fiddler ,手头有一部Android 手机,同时 还要有无线网,手机和 电脑在同一个无线网络.这些条件具备,我们就可以 开始下面的步骤了. 正题 :Fiddler 主菜单 Tools - ...

  2. [net]netcat 做网络端口监听

    nc命令说明:https://www.cnblogs.com/nmap/p/6148306.html 如下: nc -vz -w domain/ip &> /dev/null & ...

  3. CAS (7) —— Mac下配置CAS 4.x的JPATicketRegistry(服务端)

    CAS (7) -- Mac下配置CAS 4.x集群及JPATicketRegistry(服务端) tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 cas版本: ...

  4. hbase源码系列(十四)Compact和Split

    先上一张图讲一下Compaction和Split的关系,这样会比较直观一些. Compaction把多个MemStore flush出来的StoreFile合并成一个文件,而Split则是把过大的文件 ...

  5. .net修炼笔记

    1. 底层基础概念 CIL(Common Intermediate Language) 中间语言(C# VB 最终编译成CIL语言) BCL(Base Class Library) 基础类库 (Sys ...

  6. jQuery(九):节点遍历

    一.遍历子元素 children()方法可以用来获取元素的所有子元素,语法如下: 示例: <!DOCTYPE html> <html lang="en"> ...

  7. JDBC setCatalog

    数据库URL:jdbc:mysql://localhost:3306/{catalog} catalog指代数据库名称. 1如果该参数不存在,则必须使用setCatalog设置数据库名称,否则会抛出 ...

  8. C#中二进制和流之间的各种相互转换

    一. 二进制转换成图片间的转换 1 2 3 4 5 MemoryStream ms = new MemoryStream(bytes); ms.Position = 0; Image img = Im ...

  9. 关于Unity中旧版动画系统的使用

    Unity在5.X以后,有一个旧版的动画系统和新版的动画系统. 新版的动画系统是使用Unity动画编辑器来调的,调动画和控制动画 旧版的动画系统是用其他的第三方软件调好后导出到一个FBX文件里面,就是 ...

  10. 基于jquery的ui选择之路

    选定: 主框架:jqueryUi tree:ztree grid:jqGrid layout:jquery.layout 原由: 还有其他demo,ajax实现等参看连接: 正在做的一个项目选择jqu ...