我正在尝试创建一个包含不同代码的 .bat 文件,每个代码执行不同的命令,但我不想单独运行它们,而是在一个批处理文件中运行。
所有执行不同操作的批处理代码都可以将它们链接到一个批处理文件中,并且可以通过使用调用命令按顺序运行代码,只需将其添加到代码的开头即可。例如,这是 bat 文件的示例
Start
call @echo off (These three lines are code2)
:h cmd /c start /MAX /HIGH tree c:\
Call code 3 etc is that right
所以我只需要在批处理代码的开头添加调用,并将每个不同的代码保存在一个文件中,并按顺序一个接一个地执行,只需在代码的开头添加调用即可?
答案1
看起来您想从主批处理文件中按顺序运行多个批处理文件。
您可以将批处理文件保存为 file1.bat file2.bat,并将主批处理文件保存为 master.bat。
按顺序运行主文件中的其他批处理文件
echo calling sequential process 1
call file1.bat
echo calling sequential process 2
call file2.bat
当您使用呼叫控制时,一旦被叫的蝙蝠完成,控制权将返回到您的呼叫者。希望这能有所帮助
答案2
首先,请使用术语“命令”而不是“代码”。
所以我只需要在批处理代码的开头添加调用,并将每个不同的代码保存在一个文件中,并按顺序一个接一个地执行,只需在代码的开头添加调用即可?
一般来说,是的。批处理文件按顺序运行一系列命令。将命令添加到批处理文件中,然后运行批处理文件。
除此之外,您的例子还有很多错误......
您的示例中的用法call
是错误的。在命令提示符中输入call /?
:
从另一个批处理程序调用一个批处理程序。
不确定您的示例是否包含“Start”,因为您想显示示例的开始,或者您是否真的想使用该Start
命令。如果是这样,那么您也没有正确使用它。
从Start /?
:
启动单独的窗口来运行指定的程序或命令。
我也不确定为什么您有一个名为“h”的标签(:h
),而您没有在其他地方引用它,我也不确定为什么您要将CMD
其start
作为参数运行。您很少需要cmd
从批处理文件中运行。
无论如何,希望这些指示能帮助您前进。
例子:
@echo off
c:
cd\
c:\path\program.exe
"c:\other Path with spaces\SecondProgram.exe"
call c:\path\AnotherBatchFile.bat
start /wait "c:\some path\ProgramYouWantToWaitToFinishBeforeContinuing.exe"
d:\
ProgramInRootOfD.exe
cd\temp
del /q *.*