2012-04-13 91 views
0

是否可以设置cmd.exe shell/batch文件来打印将执行但不是真正执行它的内容?批处理脚本打印将被执行的命令,而不是执行

例如,给定一个批处理文件,需要一些参数,基于这些参数,选择一些其它的批处理文件来运行,这些批处理文件执行某些命令,可以或可以不调用其他的文件/命令等

我希望能够使用它的输入参数的所有可能组合来运行顶层批处理文件,并捕获每个arg组合将执行的内容 - 而无需实际尝试执行它。

例如概念会希望能够产生类似:

mybatchfile.bat 1 2 3 > mybatchfile_1_2_3.bat 

mybatchfile.bat 99 3 42 > mybatchfile_99_3_42.bat 

其中mybatchfile_99_3_42.bat是将运行mybatchfile.bat 99 3 42时,执行一切的名单(不执行这些命令的输出)

如果不能单独使用的cmd.exe做的是有什么方法在Cygwin的bash shell中

回答

1

在bash运行批处理脚本,我们将使用类似-x打印出所有可能的命令,而无需执行实现这一目标他们。 how to make bash scripts print out every command before executing问题是,据我所知,批处理脚本没有完全等效的命令。我建议你试着将:

@echo on 

在脚本的开头和:

@echo off 

在脚本的结束,这是最好的起点。

+0

这不会阻止命令执行。 – 2012-04-19 22:20:34

0

如果您不希望批处理文件实际执行命令,则可以在每个命令之前插入echo。这不是一个完美的解决方案,但它可能是相当简单的脚本的解决方法。