[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

情况是这样的,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: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
复制代码

TOP

返回列表