本帖最后由 pcl_test 于 2016-8-19 20:31 编辑
想弄个批处理 对文件进行分类 归档
就是说 对文件名中 带有 指定字符串的文件 放入 改字符串建立的文件夹中
大体都可以实现了,但是现在 有个问题 就是 有个问题
比如 文件名 有 a试验b.txt a实验b.txt 这两个文件 我给个 关键字 为 “实验 试验” 我想 直接 通过findstr 两个都匹配
但是现在是无法匹配
代码如下:- @echo off
- cls
- set pa=%cd%
- set pa=%pa:"=%
- rem keywords.txt 记录分类关键字 每一行为一个关键字,存在或关系的关键放在一行 并用空格分隔
- if not EXIST keywords.txt ( echo 未找到关键字文件!按任意键退出!&pause>nul&goto end )
- rem 循环建立目录,分类归档
- for /f "tokens=*" %%i in (keywords.txt) do (
- rem 建立目录
- if not EXIST "%pa%\%%i" md "%pa%\%%i"
- rem 循环分类归档
- for /f "delims=" %%a in ('dir /a-d /b "%pa%"^|findstr /c:"%%i"') do (
- rem echo "%%a"
- move /-y "%%a" "%%i\" 2>nul
- )
- )
- goto end
- :end
- rem pause
- exit
复制代码 我弄了个测试目录 目录 里面 有如下文件
keywords.txt
实验新建文本试验 (4).txt
文件归档管理.bat
新建关键测文 (2).txt
新建关键测试文档 (2) - 副本.txt
新建关键试文档 (3) - 副本.txt
新建实验试验 (3).txt
新建文件夹
新建文本文档.txt
keywords.txt 里面给出的关键字为复制代码 运行的结果是 建立了 “关键” 和 “实验 试验” 三个带有 “关键”的文件已经归入文件夹内,但是 带有 “实验” 或者 “试验” 的文件 没有被移动,
新建的“实验 试验”的文件夹是空的。
急求解决
求高手帮忙 |