[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 【已解决】批处理dir命令中使用通配符列出文件的问题

我在使用dir命令列出当前目录里文件名中包含数字1的文件或文件夹,发现使用dir /b *1*这样通配符表示时,居然把目录里的所有文件以及文件夹都列出来了,而不是只列举包含1的文件或文件夹。如图所示:

但使用其它数字就很正常,比如我列举包含数字5的文件,如图:

所以请问各位高手大侠们,这个诡异的问题该如何解决?都已经困扰我好长时间了。

回复 2# 0000


    请问,您这样的回答,想表达什么?

TOP

回复 4# Batcher


    使用8.3格式了,那得到的结果都是8.3格式的文件名了,那我还需要这些文件名干嘛?
虽然我现在使用dir+find方式列出需要的文件,但我只是觉得奇怪,为什么dir /b *1*会显示全部文件?

TOP

本帖最后由 sila 于 2017-9-2 20:00 编辑

回复 6# 0000


    首先,我只需要列出文件名,也就是用dir /b后列出的文件名,根本不需要什么8.3格式的短名。更不需要8.3格式里面包含的数字1,你完全把我的题理解错了。因此使用dir /b *1*这样命令后,我只想列出1234EDE.reg、56TFD1.rtf、6HYG1GV.rar这个三个文件名,而不是把其它无关的文件都列出来。最终效果就跟dir /b *5*那样,只列出包含数字5的几个文件而已!

那个4FRT5H.txt没有被列出,就因为它的文件名字数少于8位,所以它就不需要产生8.3格式,因此没有被列出。就因为那些超过8位数的文件名,都产生了8.3格式的文件名,而这8.3格式的就包含了数字1,所以都被列出来了。这就是问题所在吗?那难道系统是以8.3格式为判断标准的?这简直就是。。。。。唉~~~~

TOP

回复 8# Batcher


    我也是之前要利用dir /b *1*这样的写法列出一些包含数字的文件名,才发现了这样的问题,在网上也没找到相关的资料。虽然后来使用dir+find解决了,过了一段时间后,才想起来这件事,所以就来这里问问看,为什么会有这种奇怪的现象?既然现在知道是因为8.3的缘故,那就解决我的疑惑了。谢谢!

TOP

返回列表