Board logo

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

作者: jiaobinbinjk    时间: 2015-10-19 17:32     标题: 【已解决】批处理dir命令字符串匹配问题

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

dir *.txt也会列出1.txt_bak这样的文件。
有什么办法能只找到后缀名为txt的文件,像1.txt_bak这样的文件过滤掉。
作者: CrLf    时间: 2015-10-19 18:01

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

作者: jiaobinbinjk    时间: 2015-10-20 09:35

回复 2# CrLf

For /r  D:\Users %%i in (*.txt) do echo %%i
那这个命令应该怎么修改啊?只想找到后缀名为txt的。
作者: flyinnet9    时间: 2015-10-20 16:43

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

win10表示完全没有8.3问题
作者: jiaobinbinjk    时间: 2015-10-20 17:00

回复 4# flyinnet9


    可以了 ,谢谢。
作者: /zhqsystem/zhq    时间: 2015-10-20 18:02

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




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2