终止当前命令并移至bat文件中的下一个命令

时间:2015-12-25 06:17:31

标签: batch-file

我已创建批处理文件

@echo off
Mkdir c:\asp
Copy * c:\asp\
Cd/
CD c:\asp
Dir
Pause

如果我想终止复制命令并转到dir命令我该怎么办?

2 个答案:

答案 0 :(得分:0)

由于 CTRL + C 将终止整个脚本而不是单个命令,我建议在没有 / WAIT的单独CMD窗口中启动复制命令然后使用label来转到所需的命令,

@echo off  
Mkdir c:\asp  
START Copy *  c:\asp\

GOTO SABIRLABEL

Cd/   
CD c:\asp  
:SABIRLABEL

Dir

Pause

然后,您可以在第二个窗口中使用 CTRL + C ,以便在其长时间运行的过程中终止复制。

如果您不希望跳过这两个命令,也可以使GOTO以某个变量值为条件。

希望它有所帮助!!

答案 1 :(得分:0)

我认为你可以使用“CHOICE”(在Win 8.1的DOS下可用)

@echo off Mkdir c:\ asp

这里有选择// ///等等......

复制* c:\ asp \ 光盘/ CD c:\ asp 迪尔 暂停

实施例: 打开DOS框... TYPE CHOICE /?

看到这个...... C:\ Windows \ system32>选择/?

选择[/ C选择] [/ N] [/ CS] [/ T超时/ D选择] [/ M text]

描述:     此工具允许用户从列表中选择一个项目     选择并返回所选选项的索引。

注意:    ERRORLEVEL环境变量设置为的索引    从选择集中选择的密钥。第一选择    列出的返回值为1,第二个值为2,依此类推。    如果用户按下的键不是有效选项,则使用该工具    发出警告的哔哔声。如果工具检测到错误情况,    它返回ERRORLEVEL值为255.如果用户按下    CTRL + BREAK或CTRL + C,该工具返回ERRORLEVEL值    当您在批处理程序中使用ERRORLEVEL参数时,列表    它们按递减顺序排列。

实施例:    选择 /?    选择/ C YNC / M“按Y表示是,N表示否,C表示取消。”    选择/ T 10 / C ync / CS / D y    选择/ C ab / M“为选项1选择a,为选项2选择b”。    选择/ C ab / N / M“为选项1选择a,为选项2选择b。”