Board logo

标题: [文本处理] 批处理如何在多个文件中查找关键字并复制文件到指定文件夹? [打印本页]

作者: zhyl887    时间: 2012-5-2 17:40     标题: 批处理如何在多个文件中查找关键字并复制文件到指定文件夹?

情况是这样的,A文件夹中有许多类似AE52.txt,AH93.txt的文件,这些文件都包含关键字    注册的所有人:     cds6040t或者注册的所有人:     cds6040w

如果发现这个关键字注册的所有人:     cds6040t就把含有这个关键字的文件,拷贝到命名为T的文件夹
如果发现这个关键字注册的所有人:     cds6040w就把含有这个关键字的文件,拷贝到命名为W的文件夹

AE52样例:
主机名:           AE52
OS 名称:          Microsoft Windows XP Professional
OS 版本:          5.1.2600 Service Pack 3 Build 2600
OS 制造商:        Microsoft Corporation
OS 配置:          独立工作站
OS 构件类型:      Uniprocessor Free
注册的所有人:     cds6040t
注册的组织:       YH
产品 ID:          76481-641-1465534-23259
初始安装日期:     2012-3-19, 11:51:50
系统启动时间:     0 天 0 小时 4 分 23 秒
系统制造商:       Intel Corporation
系统型号:         Montara Family of Chipsets
系统类型:         X86-based PC
处理器:           安装了 1 个处理器。
                  [01]: x86 Family 15 Model 2 Stepping 9 GenuineIntel ~2791 Mhz
BIOS 版本:        PTLTD  - 6040000
Windows 目录:     C:\WINDOWS
系统目录:         C:\WINDOWS\system32
启动设备:         \Device\HarddiskVolume1
系统区域设置:     zh-cn;中文(中国)
输入法区域设置:   zh-cn;中文(中国)
时区:             暂缺
物理内存总量:     1,014 MB
可用的物理内存:   693 MB
虚拟内存: 最大值: 2,048 MB
虚拟内存: 可用:   2,005 MB
虚拟内存: 使用中: 43 MB
页面文件位置:     C:\pagefile.sys
域:               YH

请能力的坛友帮忙,在此感谢。~!~!~!~

作者: neorobin    时间: 2012-5-2 18:07

本帖最后由 neorobin 于 2012-5-2 18:13 编辑

回复 1# zhyl887
  1. @echo off & setlocal enabledelayedexpansion
  2. for %%a in (*.txt) do (
  3.   set "Own="
  4.   for /f "tokens=2" %%a in ('findstr "注册的所有人:" "%%a"') do set "Own=%%a"
  5.   if /i "!Own:~0,-1!"=="cds6040" xcopy "%%a" "!Own:~-1!\" /y
  6. )
  7. pause
复制代码





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