我明白了
=> 打电话/?
将显示呼叫命令的帮助消息。 但是
=> 调用 SubBatch 参数 /?
还可以在命令提示符下或在 bat 文件中显示帮助消息。
如果我有一个调用另一个bat文件的bat文件,但用户使用/调用第一个bat文件,这可能会很烦人?在亚麻布的某个地方 例如。如果我有一个名为 main.bat 的批处理文件,其中包含:
echo Starting my batch file
call SubBatch %*
如果我调用“main p1 p2 /?”或“main abc/?def” 我收到呼叫帮助文本。我可以通过放置包含 /? 的字符串来避免这种情况(即查看呼叫帮助)。用引号括起来:“/?”或“abc/?def”,但该字符串可以位于参数字符串 %*
中的任何位置还有其他方法可以处理这个问题吗?
我想要
=> 调用子参数 /?参数
应该呼叫子系统并且不显示呼叫帮助消息。
由于您专门询问运行批处理文件,因此这里有一个简单的测试文件,名为“Run1.bat”,仅包含一行
type %1
创建另一个批处理文件,将其命名为“Run2.bat”,并包含以下几行
echo %* > Temp1.bat
echo Starting my batch file
call Temp1.bat
这将创建一个临时批处理文件
Temp1.bat
,其中仅包含参数,然后调用该批处理文件。接下来,使用 运行
Run2.bat
运行2.bat 运行1.bat /?
在我的 Windows 10 计算机上,给出以下结果
D:\Programs\Stack Overflow>echo Run1.bat /? 1>Temp1.bat
D:\Programs\Stack Overflow>echo Starting my batch file
Starting my batch file
D:\Programs\Stack Overflow>call Temp1.bat
D:\Programs\Stack Overflow>Run1.bat /?
D:\Programs\Stack Overflow>type /?
Displays the contents of a text file or files.
TYPE [drive:][path]filename
特别注意,上面输出的结尾部分显示的是
type
帮助说明,而不是呼叫帮助版本。