Board logo

标题: [求助]if /i !windir:~0,1! equ c (echo c盘) else (echo 非c盘) [打印本页]

作者: s11ss     时间: 2008-4-11 21:16    标题: [求助]if /i !windir:~0,1! equ c (echo c盘) else (echo 非c盘)
为什么直接这样正常执行:
if /i %windir:~0,1% equ c (echo c盘) else (echo 非c盘)



而这样就提示有错?(此时不应有 1!。)

setlocal enabledelayedexpansion
if /i !windir:~0,1! equ c (echo c盘) else (echo 非c盘)
pause


Last edited by s11ss on 2008-4-12 at 03:58 PM ]

作者: slore     时间: 2008-4-11 21:24
if /i %windir:~0,1% equ c (echo c盘) else (echo 非c盘)
我这里正常呀。。。

作者: s11ss     时间: 2008-4-11 21:28
我是说下面的这个:

setlocal enabledelayedexpansion
if /i !windir:~0,1! equ c (echo c盘) else (echo 非c盘)
pause

作者: fastslz     时间: 2008-4-11 21:36
我也碰到这样的情况

setlocal enabledelayedexpansion
set win=!windir:~0,1!
if /i !win! equ c (echo c盘) else (echo 非c盘)
pause

作者: junchen2     时间: 2008-4-11 21:56
echo off
setlocal enabledelayedexpansion
if /i "!windir:~0,1!" equ "c" (echo c盘) else (echo 非c盘)
pause

Last edited by junchen2 on 2008-4-11 at 10:00 PM ]

作者: moniuming     时间: 2008-4-11 22:07

@echo off
setlocal enabledelayedexpansion
set aa=%windir:~0,1%
if /i !aa! equ c (echo c盘) else (echo 非c盘)
pause

作者: plp626     时间: 2008-4-11 22:26
嗯,引号,这个优先级最高了。

作者: s11ss     时间: 2008-4-12 15:59
Originally posted by junchen2 at 2008-4-11 09:56 PM:
echo off
setlocal enabledelayedexpansion
if /i "!windir:~0,1!" equ "c" (echo c盘) else (echo 非c盘)
pause

Last edited by junchen2 on 2008-4-11 at 10:00 PM ]


感谢,原来如此。