找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 87675|回复: 17

[文件操作] 如何将硬盘上含指定文本的Word文档自动复制到U盘中?

[复制链接]
发表于 2013-5-29 18:36:24 | 显示全部楼层 |阅读模式
本帖最后由 tangqingfu 于 2013-5-29 18:38 编辑

请教如何通过Bat程序搜索硬盘上的所有Word文档,将所有含“初级焊工”、“水平测试”等文本的Word文档自动复制到U盘的名为“筛选”的文件夹中?
这里所有的U盘盘符是动态,比如说在一台电脑上U盘是G盘,在别一台电脑上U盘可能是H盘
发表于 2013-5-29 20:02:34 | 显示全部楼层
  1. @echo off
  2. set "str=c d e f g h i j k l m n o p q r s t u v w x y z"
  3. for %%a in (%str%) do (
  4.     for /f %%h in ('fsutil fsinfo drivetype %%a:^|findstr "Removable.* 可移动"') do (
  5.         set DriveU=%%h
  6.     )
  7. )
  8. for %%a in (%str%) do (
  9.     if exist %%a:\nul (
  10.         pushd %%a:\
  11.         for /r %%b in (*初级焊工*.doc* *水平测试*.doc*) do (
  12.             copy /y "%%b" "%DriveU%\筛选"
  13.         )
  14.         popd
  15.     )
  16. )
复制代码
 楼主| 发表于 2013-5-29 20:19:51 | 显示全部楼层
回复 2# Batcher

奇怪,我将bat文件放置在U盘中运行,运行后没发现在U盘有“筛选”的文件夹。
能否请版主帮我看一下是怎么回事?
发表于 2013-5-29 20:24:59 | 显示全部楼层
  1. @echo off
  2. set "str=c d e f g h i j k l m n o p q r s t u v w x y z"
  3. for %%a in (%str%) do (
  4.     for /f %%h in ('fsutil fsinfo drivetype %%a:^|findstr "Removable.* 可移动"') do (
  5.         set DriveU=%%h
  6.     )
  7. )
  8. md "%DriveU%\筛选" 2>nul
  9. for %%a in (%str%) do (
  10.     if exist %%a:\nul (
  11.         pushd %%a:\
  12.         for /r %%b in (*初级焊工*.doc* *水平测试*.doc*) do (
  13.             copy /y "%%b" "%DriveU%\筛选"
  14.         )
  15.         popd
  16.     )
  17. )
复制代码
 楼主| 发表于 2013-5-29 20:31:41 | 显示全部楼层
回复 4# Batcher

太谢谢了,这次通过了!
 楼主| 发表于 2013-5-29 20:37:00 | 显示全部楼层
回复 4# Batcher

不知能否添加一个计算bat程序运行的总时间的代码?
 楼主| 发表于 2013-5-29 20:55:02 | 显示全部楼层
回复 4# Batcher
如果要将U盘上含指定文本的Word文档自动复制到硬盘的指定路径下该如何编写?
发表于 2013-5-29 20:58:12 | 显示全部楼层
等文本的Word文档

文件名含有那些字,还是word中包含那些字?
 楼主| 发表于 2013-5-29 21:01:09 | 显示全部楼层
等文本的Word文档

文件名含有那些字,还是word中包含那些字?
522235677 发表于 2013-5-29 20:58


不是文件名,而是Word文档中包含的文本。
能否请兄台帮忙编写要将U盘上含指定文本的Word文档自动复制到硬盘的指定路径下的代码?。能否再添加个计算bat程序运行的总时间的代码(即从开始与结束的时间差)
发表于 2013-5-29 21:01:38 | 显示全部楼层
回复 6# tangqingfu


这里有函数,你自己试试吧。
http://www.bathome.net/thread-4701-1-1.html
 楼主| 发表于 2013-5-29 21:45:21 | 显示全部楼层
本帖最后由 tangqingfu 于 2013-5-29 22:17 编辑

回复 4# Batcher
原来测试还能成功,后面将U盘上的“筛选”文件夹删除,再运行bat代码,在CMD窗口中有复制动作,且可以在U盘中建立“筛选”文件夹,但该文件夹为空,没有任何文件,怎么回事?
 楼主| 发表于 2013-5-30 07:55:41 | 显示全部楼层
回复 4# Batcher
代码通过,无论是否对U盘进行重命名。
发表于 2013-5-31 22:39:32 | 显示全部楼层
都是神呀。
 楼主| 发表于 2013-6-4 14:06:03 | 显示全部楼层
回复 4# Batcher

经terse兄提醒,发现Batcher兄的代码是搜索的文件名,而不是文件内容。
请教如何将硬盘上所有Word文档内容中含有指定文本的Word文档自动复制到U盘中?
发表于 2013-6-4 15:34:00 | 显示全部楼层
回复 14# tangqingfu


    不是已经有人帮你写了VBS代码了么
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 09:25 , Processed in 0.012435 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表