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

Command line 从其他BAT文件运行BAT文件?,command-line,batch-file,cmd,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文件的编号时,我需要做什么才能使

对于同一个程序,我有多个.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文件的编号时,我需要做什么才能使其运行?

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

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

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

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

有几种方法可以解决这个问题。最短(最简单)的方法是: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-确保用户只能通过
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

当前的.bat文件正在C驱动器中运行,您希望运行放置在D:目录中的.bat文件,然后运行在第一个.bat write目录中的.bat文件

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

当前的.bat文件正在C驱动器中运行,您希望运行放置在D:目录中的.bat文件,然后运行在第一个.bat write目录中的.bat文件

D:
cd "D:/folder/folder2/"
call batFile.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
   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  

您好,我假设您想启动用户选择的批处理文件 代码如下:

   @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  

您还可以使用“转到”选项:

@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

您还可以使用“转到”选项:

@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

您必须
调用
其他批处理文件,否则在调用的批处理终止后,控制将不会返回到调用的批处理文件。这包括不必要的缩进和命令。为什么不使用上面列出的更简单的版本呢。。它们更容易理解,并且具有自解释的命令。。我确信它们可以正常工作。您必须调用其他批处理文件,否则在调用的批处理终止后,控制权将不会返回到调用的批处理文件。这包括不必要的缩进和命令。为什么不使用上面列出的更简单的版本。。它们更容易理解,并且具有自解释的命令。。我相信它们也能起作用