Board logo

标题: [文件操作] 批处理命令dir /B /S怎样列出指定目录下的文件然后拷贝? [打印本页]

作者: testball    时间: 2013-9-1 17:08     标题: 批处理命令dir /B /S怎样列出指定目录下的文件然后拷贝?

目前遇到了个情况就是,使用dir c:\ /B /S可以列出C盘下所有子目录的文件和文件的路径信息,但是如何实现在找到这些文件的同时将它们拷贝到指定的目录下呢?譬如在找到后将文件拷贝到D:\files下面

谢谢!
作者: 林小七    时间: 2013-9-1 17:10

用一个for /f 循环,么电脑,么网,,搜索下论坛就有方法了
作者: DAIC    时间: 2013-9-1 19:29

根据什么条件判断复制哪个文件?
作者: 林小七    时间: 2013-9-1 20:09

回复 3# DAIC

你可以用find或者findstr来过滤你要的内容,它是支持管道符号,,,
作者: Lumiere    时间: 2013-9-2 00:35

本帖最后由 Lumiere 于 2013-9-2 16:51 编辑

回复 1# testball
你所谓的文件是什么文件也不描述清楚。如果只是你说的那样还是比较简单一个for命令就可以实现。
  1. @echo off
  2. ::假设你的制定文件都是exe文件,如果不是自己做相应修改
  3. (for /r c:\ %%a in (.) do (
  4. copy "%%a\*.exe" d:\files
  5. )) 2>nul
  6. pause
复制代码
用dir也可以实现。
  1. for /f "delims=" %%a in ('dir /b /s *.exe') do copy "%%a" d:\files
复制代码

作者: DAIC    时间: 2013-9-2 08:43

http://bbs.bathome.net/thread-26193-1-1.html
作者: testball    时间: 2013-9-2 12:45

回复 5# Lumiere

用dir这个for /f "delims=" %%a in ('dir /b /s *.exe') do copy "%%a" d:\files 解决了问题。

多谢……
作者: Lumiere    时间: 2013-9-2 16:51

回复 7# testball


    第一个代码忘记双引号了,现已修改,也可以滴。
作者: tangqingfu    时间: 2014-5-21 16:16

学习ing……




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