You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

cmd.exe中*.*通配符解析逻辑与DIR命令表现疑问

为什么执行DIR *.*会显示不含.的文件夹和含.的文件?

这是因为Windows CMD的通配符规则延续了DOS时期的兼容逻辑,和你理解的“严格通配符匹配”不是一回事:

  • 针对文件:*.*在CMD里被特殊处理成“所有文件”——不管文件名里有没有.。早年间DOS只有8.3格式的文件名(主名最多8字符+扩展名最多3字符),*.*就是用来指代所有文件的,这个老行为被一直保留到现在。
  • 针对文件夹:CMD的DIR命令处理通配符时,会把不含.的文件夹也归到*.*的匹配结果里。因为DOS里文件夹没有扩展名的概念,系统默认把文件夹名看作“没有扩展名的文件”,所以*.*会匹配这类对象。

说白了,CMD里的*.*不是严格匹配“名称包含.”的对象,而是历史兼容带来的“所有文件+所有文件夹”的快捷写法。

内容的提问来源于stack exchange,提问作者zesy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 17:35:18