中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 通配符的小问题 上一主题 | 下一主题
Redhat1985
新手上路





积分 16
发帖 6
注册 2006-10-22
来自 湖北
状态 离线
『楼 主』:  通配符的小问题

在目录a下建立三个文件分别是
1.txt
1.txt1
1.txt_old
在a目录下使用dir命令加通配符出现下列情况
情况一
J:\dos>dir *.txt
驱动器 J 中的卷是 Ghost
卷的序列号是 A000-9525

J:\dos 的目录

2006-11-02  11:53                 0 1.txt
2006-11-02  11:53                 0 1.txt1
2006-11-02  11:53                 0 1.txt_old
               3 个文件              0 字节
               0 个目录    574,640,128 可用字节

问题:通培符在分隔符前 则通配符仅对文件基本名起作用
        我已经指定了扩展名字为txt 为什么 txt1和txt_old 也给罗列出来了呢?
情况二J:\dos>dir *.txt
驱动器 J 中的卷是 Ghost
卷的序列号是 A000-9525

J:\dos 的目录

2006-11-02  11:53                 0 1.txt
2006-11-02  11:53                 0 1.txt1
2006-11-02  11:53                 0 1.txt_old
               3 个文件              0 字节
               0 个目录    574,640,128 可用字节
同样是通配符  为什么dir ?.txt
就没有出现上述情况?

2006-11-3 00:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Michael
钻石会员





积分 10046
发帖 3039
注册 2002-11-11
状态 离线
『第 2 楼』:  

因为这三者的短文件名是不一样的,比如说1.txt的短文件名就是1.txt,而1.txt1的短文件名或许是1~1.txt,1.txt_old的短文件名则有可能为1~2.txt。
dir *.txt,把三者都列了出来,而dir ?.txt,只列出1.txt。

   此帖被 +3 点积分      点击查看详情   
评分人:【 redtek 分数: +2  时间:2006-11-3 00:56
评分人:【 hxuan999 分数: +1  时间:2006-11-18 04:36




简单就是美
2006-11-3 00:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Redhat1985
新手上路





积分 16
发帖 6
注册 2006-10-22
来自 湖北
状态 离线
『第 3 楼』:  

还是不太明白啊
1~1.txt 中1~1指代的是什么?

2006-11-4 00:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Michael
钻石会员





积分 10046
发帖 3039
注册 2002-11-11
状态 离线
『第 4 楼』:  

你需要多了解下长文件名和短文件名是怎么回事。



简单就是美
2006-11-4 01:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zerostudy
中级用户





积分 266
发帖 98
注册 2006-4-21
状态 离线
『第 5 楼』:  

也不了解这个....怎么后辍可以跑前面去的了.

2006-11-4 07:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chenall
银牌会员




积分 1276
发帖 469
注册 2002-12-23
来自 福建泉州
状态 离线
『第 6 楼』:  

DOS使用的是8.3格式的文件名.
8个字符.3个字符
你的文件名为1.txt1
实际上扩展名还是.txt
可以在DOS下使用dir /x查看就知道了.
至于后面的1怎么处理我就不清楚了.



QQ:366840202
http://chenall.net
2006-11-4 11:36
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (366840202)  编辑帖子  回复  引用回复
hxuan999
中级用户

DOS之日


积分 337
发帖 161
注册 2006-11-4
状态 离线
『第 7 楼』:  

这个问题可以引深来讨论一下呀.呵呵



for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
2006-11-18 04:38
查看资料  发送邮件  发短消息 网志  OICQ (33899867)  编辑帖子  回复  引用回复
kxows
初级用户





积分 31
发帖 11
注册 2006-11-7
状态 离线
『第 8 楼』:  

我的理解是:有不对的地方,请高手指正!
在8.3 文件格式下, 当文件名长度超出8个是就会在末尾出现~1,其中后面的数字1表示第一个超出8字符的文件,当多个文件名的前八个相同时,就会认为是相同的文件名,就会出现~1,~2,~3。
如1.txt,1.txt1,1.txt_old,都是txt文件,但是文件名相同,被认为是1~1.txt,1~2.txt,1~3.txt

[ Last edited by kxows on 2006-11-17 at 06:00 PM ]

2006-11-18 05:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yeesong2002
新手上路




积分 8
发帖 6
注册 2006-10-21
状态 离线
『第 9 楼』:  

不了解这个....怎么后辍可以跑前面去的了.

2006-11-19 05:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by kxows at 2006-11-18 05:54:
我的理解是:有不对的地方,请高手指正!
在8.3 文件格式下, 当文件名长度超出8个是就会在末尾出现~1,其中后面的数字1表示第一个超出8字符的文 ...


  并不是像你所说的那样。你在一个文件夹里面建100个文件,然后用"dir /x"查看一下就知道结果了。


2006-11-19 08:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: