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

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

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

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

另:在移动文件的时候遇到重名的文件,怎么能使其也移动并自动重命名?
谢谢。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  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
复制代码

TOP

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

TOP

本帖最后由 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
复制代码

TOP

本帖最后由 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. )
复制代码
1

评分人数

TOP

呵呵,谢谢几位,好好研究一下高手们给的代码,学习学习!谢谢啦!

TOP

  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"
复制代码

TOP

返回列表