1

对于具有不同参数的同一程序,我有多个 .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 文件?

4

5 回答 5

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
于 2013-06-30T02:40:16.907 回答
0

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

IF "%file%" EQU "1" ( 
       name1.bat
   )
   IF "%file%" EQU "2" ( 
       name2.bat
   )
   IF "%file%" EQU "3" ( 
       name3.bat
   )
于 2013-06-30T01:37:17.003 回答
0

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

D:
cd "D:/folder/folder2/"
call batFile.bat
于 2016-02-29T09:43:05.637 回答
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  
于 2017-03-15T14:00:04.540 回答
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
于 2017-03-17T12:14:33.097 回答