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

[文本处理] [已解决]批处理 如何复制同盘不同目录下的不同类型的文件到当前目录下指定文件夹中

[复制链接]
发表于 2015-3-1 22:37:19 | 显示全部楼层 |阅读模式
本帖最后由 Cyccllee 于 2015-3-2 00:01 编辑

自己写了一个比较繁琐的能实现,其实不止几个子文件夹,有很多。另:该.bat文件只能放在目标文件夹下。
样本如下:

set a="D:\Total\1"
set b="D:\Total\2"
set c="D:\Total\3"

for /r %a% %%i in (*.png) do (xcopy %%i .\Photo\ /Y)
for /r %b% %%i in (*.png) do (xcopy %%i .\Photo\ /Y)
for /r %c% %%i in (*.png) do (xcopy %%i .\Photo\ /Y)

for /r %a% %%i in (*.txt) do (xcopy %%i .\Document\ /Y)
for /r %b% %%i in (*.txt) do (xcopy %%i .\Document\ /Y)
for /r %c% %%i in (*.txt) do (xcopy %%i .\Document\ /Y)

for /r %a% %%i in (*.mp3) do (xcopy %%i .\Music\ /Y)
for /r %b% %%i in (*.mp3) do (xcopy %%i .\Music\ /Y)
for /r %c% %%i in (*.mp3) do (xcopy %%i .\Music\ /Y)

不怎么精通For循环,想问问大神们还有更简单的写法么?

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2015-3-1 22:50:05 | 显示全部楼层
回复 1# Cyccllee
  1. @echo off
  2. ::设定目录
  3. cd /d "D:\Total"
  4. for /f "delims=" %%a in ('dir /ad /b') do (
  5. pushd "%%a"
  6. copy /y *.png "D:\Photo"
  7. copy /y *.txt "D:\Document"
  8. copy /y *.mp3 "D:\Music"
  9. popd
  10. )
  11. pause
复制代码
 楼主| 发表于 2015-3-1 23:10:49 | 显示全部楼层
回复 2# pcl_test

呃。。。要复制的文件指定在D:\Total\1 D:\Total\2 D:\Total\3 这些文件夹下,会有很多指定文件夹,但也有不包括的文件夹。。如果有D:\Total\4 文件夹,其中*.png, *.txt, *.mp3其实是不需要复制的。
发表于 2015-3-1 23:16:17 | 显示全部楼层
回复 3# Cyccllee

说的一塌糊涂,把实际情况说清楚,谁知道你哪些文件夹不需要呢?
发表于 2015-3-1 23:42:43 | 显示全部楼层
回复 3# Cyccllee
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%a in (1 2 3) do call :aa %%a
  4. pause & exit
  5. :aa
  6. for /r "D:\Total\%1" %%b in (.) do (
  7. set "tdir=%%b"
  8. set "tdir=!tdir:~0,-1!"
  9. pushd "!tdir!"
  10. for %%i in (*.jpg *.png *.bmp) do copy /y "%%i" "D:\Photo"
  11. for %%i in (*.txt *.docx) do copy /y "%%i" "D:\Document"
  12. for %%i in (*.mp3 *.wav *.wma) do copy /y "%%i" "D:\Music"
  13. popd
  14. )
  15. goto :eof
复制代码

评分

参与人数 1技术 +1 收起 理由
Cyccllee + 1 乐于助人

查看全部评分

 楼主| 发表于 2015-3-1 23:54:56 | 显示全部楼层
回复 4# pcl_test

是同盘 下指定的文件夹,不是同盘下的文件夹。

这样说,应该好理解一点。。 不好意思,语言组织能力不好。。。
 楼主| 发表于 2015-3-2 00:00:26 | 显示全部楼层
回复 5# pcl_test

谢谢你的回答,我的问题已经解决~

发表于 2015-3-2 00:02:53 | 显示全部楼层
回复 6# Cyccllee
同盘下指定的文件夹不是包括同盘下的文件夹吗?同样,同盘下的文件夹不也包括同盘下指定的文件夹吗?你的问题其实不难,所以,只要你能把问题说清楚,一切好办,而且我也给了两段代码,你应该也有一点批处理基础,参考我给的这两段代码你也可以试试自己把代码编出来
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 16:42 , Processed in 0.017884 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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