Board logo

标题: [文本处理] 批处理如何实现将文件名中含有指定字符串的文件移动到以该字符串命名的文件夹里? [打印本页]

作者: jasonshaw    时间: 2011-5-13 23:29     标题: 批处理如何实现将文件名中含有指定字符串的文件移动到以该字符串命名的文件夹里?

本帖最后由 pcl_test 于 2016-8-19 20:31 编辑

想弄个批处理  对文件进行分类 归档  

就是说  对文件名中  带有 指定字符串的文件  放入  改字符串建立的文件夹中

大体都可以实现了,但是现在  有个问题 就是 有个问题

比如  文件名  有 a试验b.txt    a实验b.txt   这两个文件   我给个  关键字 为 “实验 试验”  我想 直接 通过findstr 两个都匹配

但是现在是无法匹配


代码如下:
  1. @echo off
  2. cls
  3. set pa=%cd%
  4. set pa=%pa:"=%
  5. rem keywords.txt 记录分类关键字 每一行为一个关键字,存在或关系的关键放在一行 并用空格分隔
  6. if not EXIST keywords.txt ( echo 未找到关键字文件!按任意键退出!&pause>nul&goto end )
  7. rem 循环建立目录,分类归档
  8. for /f "tokens=*" %%i in (keywords.txt) do (
  9. rem 建立目录
  10. if not EXIST "%pa%\%%i" md "%pa%\%%i"
  11. rem 循环分类归档
  12. for /f "delims=" %%a in ('dir /a-d /b "%pa%"^|findstr /c:"%%i"') do (
  13. rem echo "%%a"
  14. move /-y "%%a"  "%%i\" 2>nul
  15. )
  16. )
  17. goto end
  18. :end
  19. rem pause
  20. exit
复制代码
我弄了个测试目录  目录 里面 有如下文件
keywords.txt
实验新建文本试验 (4).txt
文件归档管理.bat
新建关键测文 (2).txt
新建关键测试文档 (2) - 副本.txt
新建关键试文档 (3) - 副本.txt
新建实验试验 (3).txt
新建文件夹
新建文本文档.txt


keywords.txt  里面给出的关键字为
  1. 关键
  2. 实验 试验
复制代码
运行的结果是  建立了  “关键”   和  “实验 试验”  三个带有  “关键”的文件已经归入文件夹内,但是 带有 “实验” 或者 “试验” 的文件 没有被移动,
新建的“实验 试验”的文件夹是空的。

急求解决

求高手帮忙
作者: jasonshaw    时间: 2011-5-13 23:30

自己顶一下,看看有高手帮忙解决一下不。
作者: batman    时间: 2011-5-13 23:36

试试findstr /r "实验 试验"
作者: jasonshaw    时间: 2011-5-14 00:11

太好了,的确好用了,谢谢啦!




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