Board logo

标题: [文本处理] 【已解决】批处理如何将文件池子中的文件根据EXCEL表单的关键词LIST复制到指定文件夹 [打印本页]

作者: wuxingyu258    时间: 2023-5-28 10:01     标题: 【已解决】批处理如何将文件池子中的文件根据EXCEL表单的关键词LIST复制到指定文件夹

本帖最后由 wuxingyu258 于 2023-7-11 09:37 编辑

现在我有一份EXCEL表单,内容1列,是一份关键词LIST,其内容为文件名的关键词。这份表单的文件可能在文件池,也可能不在。
      文件池内文件命名方式举例:比如 阿迪达斯-AD9876543D21-销售汇总明细.pdf   AD9871SJJGGG-销售汇总明细.XLSX 之类的命名方式,
文件名包含“中文,字符,数字”长度不确定,确定的是EXCLE表单内的汇总名称为文件名的简写,格式为PDF、XSLX、XLS三种格式。比如前面的2个文件在LIST内的内容显示就是:AD9876543D21
AD9871SJJGGG,这是可匹配的。
     现在要通过EXCEL给出的关键词LIST把文件池有的文件复制到指定文件夹TEST,并把不在文件池的关键词标出/找出。
     有大佬给提供解决方法吗?感谢!
作者: Batcher    时间: 2023-5-28 12:01

回复 1# wuxingyu258


Excel关键词放到List.txt里面
以下 1.bat 代码

请参考Q-04和Q-05把bat文件和txt文件都保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. cd /d "%~dp0"
  3. set "KeyFile=List.txt"
  4. set "NewFolder=Test"
  5. set "NewFile=NotFound.txt"
  6. if not exist "%NewFolder%" (
  7.     md "%NewFolder%"
  8. )
  9. type nul >"%NewFile%"
  10. for /f "delims=" %%i in ('type "%KeyFile%"') do (
  11.     dir /b /a-d "*%%i*" >nul 2>&1
  12.     if errorlevel 1 (
  13.         >>"%NewFile%" echo,%%i
  14.     ) else (
  15.         copy /y "*%%i*" "%NewFolder%"
  16.     )
  17. )
复制代码

作者: wuxingyu258    时间: 2023-5-29 10:40

回复 2# Batcher
首先感谢您的回复,我先消化一下代码。再次感谢!




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