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


  Quote:
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 ]

感谢,原来如此。