Board logo

标题: [文件操作] [已解决]批处理怎样把所有的doc和xls文件移动到指定的文件夹? [打印本页]

作者: amen132    时间: 2011-4-15 15:58     标题: [已解决]批处理怎样把所有的doc和xls文件移动到指定的文件夹?

本帖最后由 amen132 于 2011-4-17 15:28 编辑

如题:
想将整个硬盘里除了C盘之外,其他盘符中的word和excel文件移动到比如:“D:\123”文件夹中,不需要形成原来的目录样式,只是单纯的把所有doc和xls文件移动到指定文件夹。
请教各位高人了!
谢谢。

另:在移动文件的时候遇到重名的文件,怎么能使其也移动并自动重命名?
谢谢。
作者: CrLf    时间: 2011-4-15 16:14

  1. @echo off
  2. (for /f %%a in ('dir /b /a-d d:\*.word d:\*.excel e:\*.word e:\*.excel') do move "%%a" d:\123\)>nul 2>nul
复制代码

作者: dnfreeuser    时间: 2011-4-15 22:26

http://www.bathome.net/thread-11810-1-1.html
用上面这个工具的话
find /s .doc /copy:d:\123
复制当前目录及子目录所有文件名中含.doc的文件到d:\123目录中,
子目录支持畸形\锁定\rootkits隐藏
作者: Hello123World    时间: 2011-4-16 14:25

本帖最后由 Hello123World 于 2011-4-17 13:28 编辑
  1. @echo off
  2. md d:\123  2>nul
  3. for %%i in (d e f g) do (for /f "delims=" %%j in ('dir /s /b %%i:\*.doc %%i:\*.xls') do copy "%%j" "D:\123")
  4. pause
复制代码

作者: caruko    时间: 2011-4-16 16:30

本帖最后由 caruko 于 2011-4-17 00:53 编辑

用dir 会慢一点,因为需要先搜索完再FOR。直接for /r 即可
  1. @echo off
  2. md d:\123 2>nul
  3. for %%i in (d e f g h i j k l m n) do (
  4. pushd "%%i:" ||goto :eof
  5. for /R %%j in (*.doc *.xls) do copy "%%j" "d:\123"
  6. popd
  7. )
复制代码

作者: amen132    时间: 2011-4-16 16:54

呵呵,谢谢几位,好好研究一下高手们给的代码,学习学习!谢谢啦!
作者: wolonga123    时间: 2011-4-16 17:43

  1. @echo off
  2. set a=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 /f %%I in (%a%) do if exist %a%: set b=%a%
  4. for /f %%i in (%b%) do dir /b/s/a-d %b%:*.doc *.xls&&move *.doc *.xls "d:\123"
复制代码





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