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

[文本处理] 【已解决】批处理如何根据文件名的部分字符提取文件名全名?

本帖最后由 wangdali 于 2020-7-6 15:01 编辑

新手一个,最近才发现批处理效率这么高。现在遇到一个问想请教大家怎么解决,现在是有一个文件里有全部的文件,文件的名很长,但是中间部分文件名是有规律的,现在我有把我想要的文件的部分文件名放在一个txt文档里,那我怎么能根据这个部分文件名的txt文档提取出文件全名,并生成另一个txt文档保存?? 求教大家!
比如文件夹里有:
XXXXXA-0001XXXXX.jpg
XXXXXA-0002XXXXX.jpg
…………
XXXXXA-0123XXXXX.jpg
XXXXXA-0124XXXXX.jpg
…………
我有想要提取的部分文件名放在一个a.txt:
A-0003
A-0007
A-0018
…………
那我怎么根据这个a.txt文档提取到文件的全名b.txt:
XXXXXA-0003XXXXX.jpg
XXXXXA-0007XXXXX.jpg
XXXXXA-0018XXXXX.jpg
…………

回复 1# wangdali
  1. @echo off
  2. type nul >"b.txt"
  3. for /f "delims=" %%i in ('type "a.txt"') do (
  4.     dir /b /a-d "*%%i*.jpg" >>"b.txt" 2>nul
  5. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher
好快,谢谢! 我试了下,如果是部分字符是数字的话能成功提取出文件名,但如果部分字符里有中文的话就提取不出来了。所以我想进一步求教部分字符里有汉字该怎么改? 因为这和excel一样,有时候像A-100-2这种,它就直接把A-100-20、 A-100-21……A-100-29全一起提取出来了,所以像A-100-2这种我会在后面把汉字部分也带上:A-100-2白,请问像这种有数字有汉字的该怎么改?

TOP

回复 3# wangdali


请参考Q-04和Q-05的方法把txt文件和bat文件都改成ANSI编码再试试
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ

如果还是不行,请把你的txt文件和bat文件打包压缩传上来我测试一下。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# Batcher
成功了! 把存有部分文件名的a.txt另存为ANSI,就能识别出汉字了。太感谢了!终于不用每次都在excel里筛选了。

TOP

返回列表