从单个批处理文件启动多个shell提示

时间:2011-09-30 14:53:15

标签: windows batch-file dos

我有一组DOS命令,我需要在不同的shell实例中运行。是否有一个我可以编写的批处理文件可以设置多个cmd实例并在每个提示中执行一组DOS命令?

2 个答案:

答案 0 :(得分:3)

您的问题似乎归结为如何在每个cmd.exe实例中运行不同系列的命令而不需要多个命令文件。

这是一种相当简单的方法。我们的想法是在cmd.exe的每个实例中运行相同的命令文件,但是传递一个命令行参数,告诉它要执行哪个部分。

这里有用的技巧是在goto命令中使用命令行参数,如下所示:

if not "%1" == "" goto :%1

start "Job 1" "%~dpfx0" job1
start "Job 2" "%~dpfx0" job2
goto :eof

:job1

echo Job 1
pause
exit

:job2

echo Job 2
pause
exit

还要注意使用%~dpfx0来确定当前脚本的完整路径和名称。如果路径包含空格,则必须在引号中,这意味着(由于start命令的奇怪语法),您需要首先明确指定窗口标题(也在引号中)。

答案 1 :(得分:1)

如下:

启动cmd / c目录c:\ windows