Windows命令行如何查找匹配特定模式的目录及子目录(含.backup)
嘿,我来帮你搞定这个Windows命令行的查找需求~要找出E盘下所有名称包含或者正好是.backup的子目录,其实只需要调整下命令参数就行,给你两种实用的方法:
方法1:用dir命令快速查找
这是最直接的方式,你只需要修改原来命令里的筛选规则和目标类型:
查找名称包含.backup的所有目录
dir "e:\*.backup*" /A:D /B /S
查找名称正好是.backup的所有目录
如果要精准定位那些名字就叫.backup的文件夹,用这个:
dir "e:\.backup" /A:D /B /S
我给你拆解下关键参数:
/A:D:这是核心,指定只筛选目录(Directory),和你原来命令里的/A:-D(筛选文件)正好相反/B:用极简格式输出,只显示目录的路径,不会有多余的大小、日期信息/S:递归遍历E盘下的所有子文件夹,不会漏掉深层目录- 匹配模式
*.backup*:表示任意开头+包含.backup+任意结尾的目录名;如果是.backup就是精准匹配这个名字的目录
方法2:用for命令实现更灵活的查找
如果后续需要对找到的目录做更多操作(比如批量改名、复制),for命令会更灵活,比如查找包含.backup的目录:
for /r "e:\" /d %d in (*.backup*) do @echo %d
参数说明:
/r "e:\":从E盘根目录开始递归搜索所有子目录/d:只处理目录,跳过文件(*.backup*):匹配规则和之前一致@echo %d:输出找到的目录路径,@是为了不显示命令本身,让输出更干净
内容的提问来源于stack exchange,提问作者user2718593




