从其他BAT文件运行BAT文件?

时间:2013-06-30 01:31:23

标签: command-line batch-file cmd

对于具有不同参数的相同程序,我有多个.bat文件。这可能吗?

这就是我现在所拥有的:

@echo off
Cls
color 0A
echo title
PAUSE
:Main
color 0A
Cls
echo 1 : name1.bat
echo 2 : name2.bat
echo 3 : name3.bat
set /p file=Enter the number of the file you want to run:
Cls

这样的事情会起作用吗?当输入数字时,我需要做些什么才能运行bat文件?

5 个答案:

答案 0 :(得分:1)

有几种方法可以解决这个问题。最短(最简单)的是:1-确保用户只能通过choice命令输入有效的输入值,并且2-命名所有具有固定格式名称的批处理文件(如示例中的那些)和直接打电话给对方。

@echo off
Cls
color 0A
echo title
PAUSE
:Main
color 0A
Cls
echo 1 : name1.bat
echo 2 : name2.bat
echo 3 : name3.bat
choice /C:123 /M:"Enter the number of the file you want to run: "
call name%errorlevel%.bat

答案 1 :(得分:0)

是的,你可以有条件循环。您可以测试变量值并按以下方式执行。您也可以使用call语句。

IF "%file%" EQU "1" ( 
       name1.bat
   )
   IF "%file%" EQU "2" ( 
       name2.bat
   )
   IF "%file%" EQU "3" ( 
       name3.bat
   )

答案 2 :(得分:0)

当前.bat文件在C盘中运行,你想运行放在D:目录中的.bat文件,然后在第一个.bat写入。

D:
cd "D:/folder/folder2/"
call batFile.bat

答案 3 :(得分:0)

您好,我假设您要启动用户选择的批处理文件      这是代码:

   @echo off
   Cls
   color 0A
   echo title
   PAUSE
 :Main
   color 0A
   Cls
   echo 1 : name1.bat
   echo 2 : name2.bat
   echo 3 : name3.bat
   set /p file=Enter the number of the file you want to run
   if %file%==1 start name1.bat
   if %file%==2 start name2.bat
   if %file%==3 start name3.bat
   goto end
 :end
    echo File is now running!
     pause  

答案 4 :(得分:0)

您还可以使用goto选项:

@echo off
Cls
color 0A
echo title
PAUSE
:Main
color 0A
Cls
echo 1 : name1.bat
echo 2 : name2.bat
echo 3 : name3.bat
set /p file=Enter the number of the file you want to run:
Cls
GOTO %file%

:1
start name1.bat
exit

:2
start name2.bat
exit

:3
start name3.bat
exit