找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29565|回复: 3

[文本处理] [已解决]批处理如何搜索文件名长度为10个字符的txt文件

[复制链接]
发表于 2017-1-13 21:11:21 | 显示全部楼层 |阅读模式
本帖最后由 yy521b 于 2017-1-14 09:05 编辑

请问批处理如何搜索长度为10个字符的txt文件!

我文件夹里有
cn51-0qhb2.txt
CN51-0qhb7.txt
cn51-0qhb59.txt
CN51-0Qhb58.txt
cn51-jkdlsadjksladjskal.txt
New Text Document.txt
这几个txt文件,当我用dir /b d:\test\?.txt 查找时显示File Not Found ,直到我用????????.txt前都显示File Not Found, 当我用dir /b d:\test\????????.txt上面的文件不管多少个字符都显示出来了!!
所以我想问如果我只搜索长度为10个字符的txt文件怎么办!

谢谢帮忙!

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2017-1-13 23:05:53 | 显示全部楼层
本帖最后由 WHY 于 2017-1-16 23:00 编辑

批处理中的 dir /b d:\test\????????.txt 默认搜索 0-8 个字符(包括8.3格式的短文件名),超过8个字符的短文件名一般都小于等于8个字符,实际上所有txt文件都被搜索出来了。

可以这样:
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b D:\Test\*.txt') do (
  3.         set "s=%%~ni"
  4.         setlocal enabledelayedexpansion
  5.         if "!s:~8!" == "" if not "!s:~7!" == "" echo;!s!%%~xi
  6.         endlocal
  7. )
  8. pause
复制代码
也可以这样:
  1. PowerShell -c "(dir -Path D:\Test\????????.txt).Name"
复制代码
或者这样:
  1. @if (0)==(0) echo off
  2. dir /b *.txt | cscript //nologo //e:jscript "%~f0"
  3. pause & exit
  4. @end

  5. WSH.StdOut.Write(WSH.StdIn.ReadAll().match(/^.{8}\.txt\r\n/gmi).join(''))
复制代码
如果不包含中文字符可以这样:
  1. dir /b D:\Test\*.txt | findstr /i "^........\.txt$"
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2017-1-13 23:31:01 | 显示全部楼层
  1. set n=10
  2. rem:n的范围1-8191
  3. set/a "o=%n%+1"
  4. for /f "delims=" %%i in ('type .\1.txt')do (set "c=0%%~ni"&&set "y="
  5. for /l %%n in (%n%,1,%o%)do if /i not "!c:~%%n,1!"=="" if "%%n"=="%n%" (set "y=1")else (set "y=")
  6. if defined y echo,%%i
  7. )
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2017-1-14 09:02:14 | 显示全部楼层
谢谢楼上两位,!问题解决,感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 10:20 , Processed in 0.029489 second(s), 14 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表