3

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

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

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

问题是我发现许多构建脚本(bat 文件)都包含诸如 UI 提示和 PAUSEing 之类的命令。

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

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

理想情况下,我们不想执行构建前清理。

有谁知道这样做的任何超级魔术技巧,或者是否需要对每个构建文件进行更改,

4

2 回答 2

12

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

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

于 2013-09-21T16:20:46.487 回答
-1

首先,没有很好的方式来压制PAUSE命令;但是,可以通过非常简单的方式做到这一点。方法是修改cmd.exe文件,也就是你可以用二进制-hex编辑器加载cmd.exe文件,查找PAUSE命令(即用两字节UNICODE字符编码),用不同的方式修改命令并保存 cmd.exe 文件。之后,该PAUSE命令将不再起作用。

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

于 2013-09-21T19:56:04.207 回答