标题: [文本处理] 批处理如何将含有关键词的文件移到其它文件夹? [打印本页]
作者: 屡败屡战 时间: 2017-8-28 11:02 标题: 批处理如何将含有关键词的文件移到其它文件夹?
本帖最后由 屡败屡战 于 2017-12-18 16:11 编辑
本人有很多txt、word文件,但是关键词不在文件名,而是在txt、word文件内容里面,批处理如何按照输入的关键词搜索出含有该关键词的txt、word文件,移动到其它文件夹。
另外关键词有很多,记录在关键词列表里,命名为a.txt。我想依据a.txt的关键词,将当前文件夹下(含子文件夹)里的含关键词的txt、word文件提取出来,移动到其它文件夹。这个对我来说很难,哪位大侠帮忙?
作者: Batcher 时间: 2017-8-28 14:45
- @echo off
- setlocal enabledelayedexpansion
- set "NewFolder=C:\目标文件夹"
- if not exist "%NewFolder%" (
- md "%NewFolder%"
- )
- for /f "delims=" %%i in ('dir /b /s /a-d *.txt') do (
- findstr /g:"C:\关键词列表.txt" "%%i" > nul
- if !errorlevel! equ 0 (
- move /y "%%i" "%NewFolder%"
- )
- )
复制代码
作者: 屡败屡战 时间: 2017-8-28 16:34
老师好,测试下,很好用,但有些美中不足。
1、代码只支持単关键词,而当多关键词时,执行命令会一闪而过,问下多关键词用什么符号分隔?代码如何修改?
2、代码对word不起作用,俄主要是以word文档为主,不知道对word文档如何搜索且导出
作者: Batcher 时间: 2017-8-28 19:26
回复 3# 屡败屡战
1、一行一个关键词
2、word不是纯文本文件,BAT无法直接处理,需要借助其它脚本
作者: 屡败屡战 时间: 2017-8-28 19:56
老师冂不行啊,我多次测试,代码只支持单关键词,而一行一个关键词就不支持了。代码会一闪而过
作者: Batcher 时间: 2017-8-28 22:26
回复 5# 屡败屡战
希望大家在这个论坛学到的第一个知识点是,不要说“一闪而过”。
请看Q-06 http://bbs.bathome.net/thread-3473-1-1.html
作者: benbenlogo 时间: 2017-8-29 01:41
做个标记,好像蛮有用的样子
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |