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

[文件操作] 【已解决】批处理dir命令字符串匹配问题

本帖最后由 jiaobinbinjk 于 2015-10-22 16:03 编辑

dir *.txt也会列出1.txt_bak这样的文件。
有什么办法能只找到后缀名为txt的文件,像1.txt_bak这样的文件过滤掉。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

用if /i "%%~xi"==".txt" echo %%i可以避开所有不同的后缀名
1

评分人数

这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 4# flyinnet9


    可以了 ,谢谢。

TOP

For /f "delims=" %%i in ('dir /s /a-d /b d:\users\*.txt ^| findstr /i "\.txt$"') do echo %%i

win10表示完全没有8.3问题

TOP

回复 2# CrLf

For /r  D:\Users %%i in (*.txt) do echo %%i
那这个命令应该怎么修改啊?只想找到后缀名为txt的。

TOP

DOS 的 8.3 命名规则遗留的问题,导致 FindFirstFile 系的 windowsAPI 都会中招,解决方法:
  1. dir *.txt | findstr /i "\.txt$"
复制代码
  1. powershell -Command "dir *.txt"
复制代码
  1. hash /nh *.txt/\.txt$/.i
复制代码

TOP

返回列表