楼 主
if exist后面的文件名能否用通配符
发表于 2008-01-21 10:46 · 中国 四川 德阳 电信
初级用户
★
积分 96
发帖 45
注册 2007-03-20 06:24
19年会员
UID 82322
性别 男
状态 离线
比如:if exist abc*.txt command
我试过好像不行,请问能否使用通配符,或是用其它替代性方法呢?
第 2 楼
发表于 2008-01-21 12:16 · 中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
要知道用if语句判断批量文件(通配符形式)意义不大,就象证明一个定理一样
要证明其正确性要判断很多种可能性,而判断其是否为假只要找出一个错例即可!
for /f %%i in ('dir/s/b abc*.txt') do if exist %%i command
第 3 楼
发表于 2008-01-21 13:29 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
'dir/s/b abc*.txt'
列出的是存在的吧?
那个判断。。。。
第 4 楼
发表于 2008-01-21 13:45 · 中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
Originally posted by slore at 2008-1-21 01:29 PM:
'dir/s/b abc*.txt'
列出的是存在的吧?
那个判断。。。。
不管存在还是不存在都一样,关键还在于command,用exit来让for只处理一次,效率也高!
for /f %%i in ('dir/s/b abc*.txt') do if exist %%i command
exit
判断一次即可
[
Last edited by huahua0919 on 2008-1-21 at 01:57 PM ]
第 5 楼
发表于 2008-01-21 14:03 · 中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
for /f 不能少"delims="参数否则空格后面的字符被忽略
for /f "delims=" %%i in (....) do .....
第 6 楼
发表于 2008-01-21 14:06 · 中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
第 7 楼
发表于 2008-01-21 14:26 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
不太清楚你的意思……
我的意思是:
for /f ... in ('dir/s/b abc*.txt') do command
一定存在的,不用加if那句直接do啊
第 8 楼
发表于 2008-01-21 15:17 · 中国 四川 德阳 电信
初级用户
★
积分 96
发帖 45
注册 2007-03-20 06:24
19年会员
UID 82322
性别 男
状态 离线
是不用加if,否则用不上FOR了,谢谢楼上所有的朋友。
第 9 楼
发表于 2008-05-12 16:16 · 中国 福建 泉州 电信
初级用户
★★
积分 148
发帖 69
注册 2006-11-23 23:04
19年会员
UID 71504
性别 男
状态 离线
论坛跳转: