中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-04 12:13
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » for循环中的if镶套,以下代码崩溃在哪儿? 查看 910 回复 3
楼 主 for循环中的if镶套,以下代码崩溃在哪儿? 发表于 2007-05-08 15:45 ·  中国 新疆 乌鲁木齐 电信
高级用户
★★★
Autowalk
积分 845
发帖 375
注册 2007-03-03 01:58
19年会员
UID 80606
性别 男
状态 离线
@echo off
set /p file=请输入要查找的名字(包括扩展名):
echo 搜索到以下文件:
for %%a in (c d e f) do (
for /f "delims=" %%i in ('dir /s /b /a-d %%a:\%file%') do (
echo %%i
set /p cho=是否删除?(Y/N)
if /i %cho%==y (del %%i)

)

)
pause

以上程序会崩溃,请高手检查下问题在哪儿?
我检查出来的是只要把 if /i %cho%==y (del %%i) 这句拿掉就可以了,
但是这个if语句也没问题的啊?真想不通!
2 发表于 2007-05-08 16:32 ·  中国 浙江 杭州 电信
初级用户
积分 28
发帖 10
注册 2006-11-22 10:02
19年会员
UID 71367
性别 男
状态 离线
if /i "%cho%"=="y" (del %%i)

试试这个

本人菜鸟一只,胡乱回答,有错的话别打我
3 发表于 2007-05-08 18:03 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
搜索"变量延迟"。
4 发表于 2007-05-08 19:18 ·  中国 新疆 乌鲁木齐 电信
高级用户
★★★
Autowalk
积分 845
发帖 375
注册 2007-03-03 01:58
19年会员
UID 80606
性别 男
状态 离线
多谢lxmxn兄提点,知道怎么回事了
论坛跳转: