为什么有时pause在批处理中不起作用

来源:百度知道 编辑:UC知道 时间:2024/06/17 11:42:02
如下面这段程序运行时就不停止
@echo off
set var=before
if "%var%" == "before"
@echo after
pause
set /p abc=请输入值:
@echo %abc%
pause
我只是初学,希望能得到较详细的解释

因为你把if "%var%" == "before" echo after这句分成两行错了!!!
@echo off
set var=before
if "%var%" == "before" echo after
pause
set /p abc=请输入值:
@echo %abc%
pause

但也不是不可以分,但是要加括号.你明白了吗?
这样也可以:
@echo off
set var=before
if "%var%" == "before" (
echo after)
pause
set /p abc=请输入值:
echo %abc%
pause

PS:如果第一行有@echo off了,后面都不需要加@了.
多余,除非你是为了好看!!!

代码问题,并非pause不起作用,简单的调下位置
@echo off
set var=before
::其实就是这条if语句 ( IF [NOT] string1==string2 command),分成两行当然执行错误
if "%var%" == "before" @echo after
pause
set /p abc=请输入值:
@echo %abc%
pause