han*_*onj 3 windows bash cmd batch-file
是否可以设置一个 cmd.exe shell/批处理文件来打印将执行但不实际执行的内容?
例如,给定一个带有一些参数的批处理文件,根据这些参数选择一些其他批处理文件来运行,这些批处理文件执行一些命令,可能会或可能不会调用其他文件/命令等。
我希望能够使用它的输入参数的所有可能组合运行顶级批处理文件,并捕获每个 arg 组合将执行的内容 - 无需实际尝试执行它。
例如,概念上希望能够产生类似的东西:
mybatchfile.bat 1 2 3 > mybatchfile_1_2_3.bat
mybatchfile.bat 99 3 42 > mybatchfile_99_3_42.bat
Run Code Online (Sandbox Code Playgroud)
其中 mybatchfile_99_3_42.bat 是运行 mybatchfile.bat 99 3 42 时将执行的所有内容的列表(不是执行这些命令的输出)
如果这不能单独使用 cmd.exe 完成,是否可以通过在 cygwin bash shell 中运行批处理脚本来实现此目的
在 bash 中,我们会使用 -x 之类的东西来打印出所有可能的命令而不执行它们。如何使 bash 脚本在执行之前打印出每个命令问题是,据我所知,批处理脚本没有完全等效的命令。我建议您尝试放置:
@echo on
Run Code Online (Sandbox Code Playgroud)
在脚本的开头,并且:
@echo off
Run Code Online (Sandbox Code Playgroud)
在脚本的末尾,这是最好的起点。