标题: [文件操作] 全盘搜索指定文件夹并复制批处理如何写? [打印本页]
作者: subtlelonging 时间: 2017-7-26 19:10 标题: 全盘搜索指定文件夹并复制批处理如何写?
例如我的U盘有一个ABC文件夹,里面有我需要的文件,
在dos下,我加载NTFS驱动之后,就能读到U盘所有文件,
不同的电脑分区不同,所以我的U盘分配的盘符也不相同,
我现在需要用一个批处理搜索a b c d e f g h i j k l m n o p q r s t u v w x y z任何分区下ABC文件夹,
找到之后复制ABC文件夹下的所有文件到A盘根目录(不需要考虑后缀名),批处理如何写?
另外考虑到速度问题,不需要深入遍历所有子文件夹,我需要的ABC文件夹基本都会在分区根目录,只需要搜索所有分区根目录即可
作者: Batcher 时间: 2017-7-27 22:42
- @echo off
- for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
- if exist "%%i:\ABC" (
- echo "%%i:\ABC"
- )
- )
复制代码
试试这样能否成功执行?
我手上暂时没有MSDOS环境,不方便测试。
作者: subtlelonging 时间: 2017-7-28 01:23
回复 2# Batcher
管理员你好,测试可以使用,但是我在打印后边加了一句复制命令,为什么一直提示找不到指定文件,copy "%%i:\ABC" C:\
作者: Batcher 时间: 2017-7-28 11:27
回复 3# subtlelonging
执行这个代码把详细信息发出来看看- for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
- if exist "%%i:\ABC" (
- echo "%%i:\ABC"
- copy "%%i:\ABC" C:\
- )
- )
复制代码
另外,单独执行那个报错的copy命令能成功吗?我在CMD里面试了一下没问题:
C:\>copy C:\Test\ABC C:\
C:\Test\ABC\T.zip
1 file(s) copied.
作者: subtlelonging 时间: 2017-7-28 12:26
回复 4# Batcher
C:\Windows\system32>copy F:\ABC C:\
F:\ABC\*
系统找不到指定的文件。
已复制 0 个文件。
WINDOWS10 直接执行居然也错误,明明有这个文件F:\ABC
作者: 老刘1号 时间: 2017-7-28 13:15
本帖最后由 老刘1号 于 2017-7-28 13:18 编辑
XCOPY /H %%i:\ABC %SystemDrive%\
作者: Batcher 时间: 2017-7-28 13:48
回复 5# subtlelonging
你的 F:\ABC 文件夹下面没有文件吧?这种情况会导致 copy 命令报错。
作者: subtlelonging 时间: 2017-7-28 14:28
回复 7# Batcher
是的,确实因为我没放文件在下面,还有发现必须以管理员身份运行CMD,不然老是提示拒绝访问!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |