标题: 关于if嵌套的问题
[打印本页]
作者: greenworld
时间: 2007-12-9 23:19
标题: 关于if嵌套的问题
@ECHO OFF
:ST
SET SD=
SET OTS=
set /P SD= 请输入你需要测试的系统所在的分区(C/D/E/F...) :
echo.
if not exist %SD%:\WINDOWS\system32\svchost.exe (
set /p OTS= 你选择的分区可能不正确,请按任意键继续,按 R 返回,按 Z 退出......:
if /i "%OTS%"=="R" goto :ST
if /i "%OTS%"=="Z" goto exit) ELSE (ECHO OK)
PAUSE
按 R,Z后,没有返回或退出,而是继续执行一下的命令了,望高手可以为偶分析一下这是怎么回事吗??正确的应该怎么写??
作者: Climbing
时间: 2007-12-10 09:01
貌似属于延迟环境变量的问题。
@ECHO OFF & setlocal ENABLEDELAYEDEXPANSION
:ST
SET SD=
SET OTS=
set /P SD= 请输入你需要测试的系统所在的分区(C/D/E/F...) :
echo.
if not exist %SD%:\WINDOWS\system32\svchost.exe (
set /p OTS= 你选择的分区可能不正确,请按任意键继续,按 R 返回,按 Z 退出......:
if /i "!OTS!"=="R" goto :ST
if /i "!OTS!"=="Z" goto :_exit) ELSE (ECHO OK)
PAUSE
:_exit