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

那么,在cmd中,如何仅匹配:
0fca724925a0312d9261912bfe810eaa.bin
0fcbc1c2d20b8724f538718827a97d85.bin
0fe920300e68d25db45c915c0c755d73.bin
0ff4803731ace688f5ec1333ff40d569.bin
(32个 由0-9和a-f组成的字符串).bin

又不会误伤 正常的少于32个字符的普通 .bin 文件?

TOP

回复 8# 77七


    不知道为什么,不成功。
  1. C:\temp\2.8Bin>dir /s /b /a-d
  2. C:\temp\2.8Bin\ShaderCache\0\00a356bb4dcffadfbecc027ff2f0f3f5.bin
  3. C:\temp\2.8Bin\ShaderCache\0\00abace58a961221e6c54cc17e90d1c3.bin
  4. C:\temp\2.8Bin\ShaderCache\0\00afde0f28ad42f7e08ce48672c2d6a8.bin
  5. C:\temp\2.8Bin\ShaderCache\a\a00e46701b2ebba310eb944fb78268a2.bin
  6. C:\temp\2.8Bin\ShaderCache\a\a0a2d4feb4186b3994675cb5cb6105c6.bin
  7. C:\temp\2.8Bin\ShaderCache\a\a0a67596c850febb29bde5f1c15e1839.bin
  8. C:\temp\2.8Bin\test\acddffdg hgfjhjjkjkj.bin
  9. C:\temp\2.8Bin\test\dfdgfdg hjhjkjk.bin
  10. C:\temp\2.8Bin\test\ffffffffff abcd.bin
  11. C:\temp\2.8Bin>dir /s /b /a-d |findstr /rixc:"................................\.bin" |findstr /rixc:"[0-9a-z][0-9a-z]*\.bin"
  12. C:\temp\2.8Bin>dir /s /b /a-d |findstr /rixc:"................................\.bin"
  13. C:\temp\2.8Bin>dir /s /b /a-d |findstr /rixc:"[0-9a-f][0-9a-f]*\.bin"
  14. C:\temp\2.8Bin>dir /s /b /a-d |findstr /rixc:"[0-9a-f]*\.bin"
  15. C:\temp\2.8Bin>dir /s /b /a-d |findstr /rixc:"[0-9a-f]*"
  16. C:\temp\2.8Bin>dir /s /b /a-d |findstr /rixc:"f.*"
  17. C:\temp\2.8Bin>dir /s /b /a-d |findstr /rixc:".*\.bin"
  18. C:\temp\2.8Bin\ShaderCache\0\00a356bb4dcffadfbecc027ff2f0f3f5.bin
  19. C:\temp\2.8Bin\ShaderCache\0\00abace58a961221e6c54cc17e90d1c3.bin
  20. C:\temp\2.8Bin\ShaderCache\0\00afde0f28ad42f7e08ce48672c2d6a8.bin
  21. C:\temp\2.8Bin\ShaderCache\a\a00e46701b2ebba310eb944fb78268a2.bin
  22. C:\temp\2.8Bin\ShaderCache\a\a0a2d4feb4186b3994675cb5cb6105c6.bin
  23. C:\temp\2.8Bin\ShaderCache\a\a0a67596c850febb29bde5f1c15e1839.bin
  24. C:\temp\2.8Bin\test\acddffdg hgfjhjjkjkj.bin
  25. C:\temp\2.8Bin\test\dfdgfdg hjhjkjk.bin
  26. C:\temp\2.8Bin\test\ffffffffff abcd.bin
  27. C:\temp\2.8Bin>
复制代码

TOP

回复 13# Batcher


    谢谢,可以了
我原以为只要含有引号内所定义的字符就算匹配成功
另外,请教 "\\[0-9a-f][0-9a-f]*\.bin" 是不是与 "\\[0-9a-f]*\.bin" 相同效果?

TOP

本帖最后由 hnfeng 于 2024-2-2 21:41 编辑

回复 16# _avatar_


    我怎么感觉是这样的:
[0-9a-f][0-9a-f]*  是 一个 [0-9a-f] 再跟0个或多个 [0-9a-f],结果可能是 a.bin, ab.bin,abcdef12345.bin,  abcdef12_345.bin .....
[0-9a-f]* 是 0个或多个 [0-9a-f],可以不含 [0-9a-f],结果可能是 上面那些,也可能是  zzzz.bin ...

TOP

多谢楼上各位,学习了学习了

TOP

经研究试验,发现 19楼的方法完美。

另外,我原以为 findstr /eric:"\\................................\.bin" 会列出文件名是 32位及不足32位的.bin文件(32个".", 1个"."代表任意一个字符), 今天意外发现 ,并不是全部不足32位文件名的文件都能列出来。
我产生了用1-50个1、1-50个a、a开头后面跟1-50个1的bin文件,结果发现,只有文件名位数是 15位,20位,27位,32位的文件才能被列出来,不知原因,高手们给解释一下?

下面是试验的命令:
  1. for /f "delims=" %i in ('dir /b /s /a-d *.bin ^| findstr /eric:"\\................................\.bin"') do @echo %i
复制代码

TOP

回复 28# WHY


    赞一个,很棒的技巧

TOP

返回列表