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

Windows 11系统下通配符匹配文件后缀功能失效问题咨询

Windows 11下ls递归通配符匹配失效解决方案

失效原因

ls -R *.txt通配符不生效是Windows环境和类Unix环境的通配符展开逻辑差异导致:

  • 原生CMD/PowerShell环境下,ls是Get-ChildItem的默认别名,直接传入*.txt时,命令只会匹配当前目录下符合后缀规则的文件,不会自动递归到子目录做通配符匹配。
  • Git Bash/WSL等模拟类Unix环境下,Windows系统层不会自动为跨目录递归场景做通配符预展开,传入的*.txt参数只会被解析为当前目录下的匹配规则。

可直接执行的命令

根据你当前使用的终端环境选择对应命令即可,可同时匹配所有.txt后缀文件、以及所有文件名以s1.txt结尾的文件:

PowerShell/CMD 原生终端

Get-ChildItem -Recurse -Include *.txt,*s1.txt

习惯用ls简写的话直接替换命令名即可,效果完全一致:

ls -Recurse -Include *.txt,*s1.txt

Git Bash/WSL 类Unix终端

推荐用find命令做递归匹配,不会出现通配符展开兼容问题:

find . -type f \( -name "*.txt" -o -name "*s1.txt" \)

如果要保留ls的输出格式,可以结合grep过滤结果:

ls -R | grep -E "(\.txt|s1\.txt)$"

排查提示:如果执行命令后结果和预期不符,可以先执行Get-Alias ls(PowerShell下)或which ls(类Unix终端下)确认当前ls命令映射的实际程序,避免第三方工具别名冲突导致规则不生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 12:09:18