禁止Windows命令行PAUSE命令

时间:2013-09-21 13:47:27

标签: batch-file wix continuous-integration teamcity python-2.5

我的任务是整合整个团队的构建过程。包括构建服务器,CI等

我们项目的结构方式是每个子团队负责开发自己的代码库。

随着时间的推移,每个团队通常会根据部署要求创建自己的python / sh / bat / Wix。我的任务是将所有构建整合到一个主要的Team City系统中。

问题是我发现许多构建脚本(bat文件)包含UI提示和暂停等命令。

是否有人知道在脚本执行之前/期间可能会抑制这些命令的任何方法。

我考虑过预处理批处理文件并删除/删除暂停,但这并不理想。由于有+ - 350个单独项目分布在+ - 35个HG存储库(这些存储库本身分布在4个城市)。

理想情况下,我们不希望进行建筑前清理。

有没有人知道任何超级重复的魔术技巧,或者是否需要对每个构建文件进行更改,

2 个答案:

答案 0 :(得分:12)

您可以通过将输入重定向到nul来禁用输入:<nul yourScrpt.bat。这将有效地禁用任何PAUSE命令,但它也将禁用任何提示输入的SET /P或其他命令。

如果禁用调用其他脚本的主bat脚本的输入,子脚本将继承禁用的输入。

答案 1 :(得分:-1)

首先,没有表现良好的方式来压制PAUSE命令;但是,可能以非常简单的方式做到这一点。该方法包括修改cmd.exe文件,也就是说,您可以使用二进制十六进制编辑器加载cmd.exe文件,查找PAUSE命令(编码于两个字节的UNICODE字符),通过不同的命令修改它并保存cmd.exe文件。之后,PAUSE命令将不再起作用。

是的,我知道有多种理由不这样做;但是,我只是在回答这个问题。 OP负责评估此方法是否对他们的需求有用。