中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-21 07:18
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 【已解决】只复制文件夹 不包括里面的内容 查看 3,046 回复 19
楼 主 【已解决】只复制文件夹 不包括里面的内容 发表于 2009-04-05 04:00 ·  中国 广西 百色 平果市 电信
初级用户
积分 49
发帖 37
注册 2007-05-08 09:38
19年会员
UID 87820
性别 男
状态 离线
小弟想复制某文件夹下的所有文件夹和子文件夹,但不复制文件夹内的文件(除了jpg与gif图片格式),这要怎么写?谢谢!
如果某文件夹内没有 jpg 或 gif 文件呢?那么还要复制该文件夹吗?要的。



不要只给我一段中文的解释说明,也不要只给我一小段代码,然后让我自己去想办法,如果是这样,谢绝回复。其实刚刚在其它论坛发贴过!

[ Last edited by ganjie on 2009-4-6 at 01:21 ]
本帖最近评分记录 (共 4 条) 点击查看详情
评分人分数时间
HAT -8 2009-04-06 01:58
ZJHJ -4 2009-04-06 07:15
dosihz -1 2009-04-06 07:31
yishanju +8 2009-04-06 09:06
2 发表于 2009-04-05 08:58 ·  中国 四川 泸州 联通
高级用户
★★★
积分 609
发帖 374
注册 2006-08-02 22:38
19年会员
UID 59720
状态 离线
先复制再删除
3 发表于 2009-04-05 11:03 ·  中国 湖北 荆州 洪湖市 电信
初级用户
★★
积分 161
发帖 114
注册 2009-02-20 13:00
17年会员
UID 139375
性别 男
状态 离线
有道理。我怎么没想到呢。。先复制所有的文件跟文件夹。然后再删除不是JPG或GIF的文件。

楼主说:“不要只给我一段中文的解释说明,也不要只给我一小段代码,然后让我自己去想办法,如果是这样,谢绝回复”。。。我在想要不要给你回呢。但是有中文解释总比没有好,对不。
4 发表于 2009-04-05 11:56 ·  中国 四川 成都 电信
新手上路
积分 9
发帖 7
注册 2006-06-22 23:07
19年会员
UID 57425
状态 离线
robocopy Log log2 /mir /zb /xf *.*

用robocopy拷贝在忽略掉所有文件就是了
5 发表于 2009-04-05 11:59 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
C:\Documents and Settings\Administrator>xcopy /?
复制文件和目录树。

XCOPY source ] ]


...]

source 指定要复制的文件。
destination 指定新文件的位置和/或名称。
/A 只复制有存档属性集的文件,
但不改变属性。
/M 只复制有存档属性集的文件,
并关闭存档属性。
/D:m-d-y 复制在指定日期或指定日期以后更改的文件。
如果没有提供日期,只复制那些源时间
比目标时间新的文件。
/EXCLUDE:file1...
指定含有字符串的文件列表。每一个字符串
必须在文件的单独行中。如果有任何
字符串与要被复制的文件的绝对路径
相符,那个文件将不会得到复制。
例如,指定如 \obj\ 或 .obj 的字符串会排除
目录 obj 下面的所有文件或带有
.obj 扩展名的文件。
/P 创建每个目标文件前提示。
/S 复制目录和子目录,除了空的。
/E 复制目录和子目录,包括空的。
与 /S /E 相同。可以用来修改 /T。
/V 验证每个新文件。
/W 提示您在复制前按键。
/C 即使有错误,也继续复制。
/I 如果目标不存在,又在复制一个以上的文件,
则假定目标一定是一个目录。
/Q 复制时不显示文件名。
/F 复制时显示完整的源和目标文件名。
/L 显示要复制的文件。
/G 允许将没有经过加密的文件复制到
不支持加密的目标。
/H 也复制隐藏和系统文件。
/R 覆盖只读文件。
/T 创建目录结构,但不复制文件。
不包括空目录或子目录。/T /E 包括
空目录和子目录。
/U 只复制已经存在于目标中的文件。
/K 复制属性。一般的 Xcopy 会重置只读属性。
/N 用生成的短名复制。
/O 复制文件所有权和 ACL 信息。
/X 复制文件审核设置(隐含 /O)。
/Y 复制文件审核设置(隐含 /O)。
现存目标文件。
/-Y 导致提示以确认改写一个
现存目标文件。
/Z 用重新启动模式复制网络文件。

命令行开关 /Y 可以预先在 COPYCMD 环境变量中设置。
这可能被命令行上的 /-Y 改写。

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
6 发表于 2009-04-05 11:59 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
尝试XCOPY /T 创建目录结构

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
7 发表于 2009-04-05 14:49 ·  中国 湖北 荆州 洪湖市 电信
初级用户
★★
积分 161
发帖 114
注册 2009-02-20 13:00
17年会员
UID 139375
性别 男
状态 离线
人家都说了:不要中文解释,也不要他自己想办法。yishanju兄你就发段完整代码贝
8 发表于 2009-04-05 23:04 ·  中国 广西 百色 电信
初级用户
积分 49
发帖 37
注册 2007-05-08 09:38
19年会员
UID 87820
性别 男
状态 离线
不是不想办法,而是已经在想办法了,因为源文件很大的说,有上百G的文件,光是要复制过来的图片文件就有可能超G的,复制全部再删,这回贴,显然没有想想发贴人的心情,纯是不负责任的回复,但大家的热心回贴,偶也是感激的,谢谢了,偶已经自己编了三个批处理,然后用call来调用达到目的了,再次谢谢!

[ Last edited by ganjie on 2009-4-5 at 23:34 ]
9 发表于 2009-04-06 08:45 ·  中国 广西 百色 电信
初级用户
积分 49
发帖 37
注册 2007-05-08 09:38
19年会员
UID 87820
性别 男
状态 离线
本贴的完整代码如下,已经经过测试!
@echo off
::目的文件夹名为 temp
set wjj=temp
::复制文件夹及子文件夹
for /f "delims=" %%a in ('dir/b/s/ad') do (
if not exist "%wjj%\" md "%wjj%"
set "var=%%a"
setlocal enabledelayedexpansion
set var=!var:*%cd%=!
md "%wjj%!var!"
endlocal
)
::复制 jpg 和 gif 文件
for /f "delims=" %%a in ('dir/b/s/a-d *.jpg *.gif') do (
set "var=%%a"
setlocal enabledelayedexpansion
set var=!var:*%cd%=!
copy /y "%%a" "%wjj%!var!"
endlocal
)
pause

感谢批处理论坛的随风。
10 发表于 2009-04-06 09:33 ·  中国 上海 浦东新区 电信
中级用户
★★
一看二跟三动手
积分 396
发帖 188
注册 2005-10-23 13:21
20年会员
UID 43919
来自 上海
状态 离线
1,创建相同之文件夹。
2,复制图片之文件。
有理。
*/. . . * .
.\* . * dosz
*/ . ./\~~~~~~~~~~~~'\. ^|◆
\* ,/,..,\,...........,\.◆
^|^| ..▎# ▎田 田 ▎ ^| ▎◆
^|^| ^&^&▎ ▎ ▎'^|'▎ o
^|^| ##■■■■■■■■■■〓
11 发表于 2009-04-06 09:43 ·  中国 福建 福州 连江县 电信
中级用户
★★
积分 356
发帖 115
注册 2004-07-27 00:00
21年会员
UID 29114
性别 男
状态 离线
哎,可惜楼主的系统里没有XCOPY!
12 发表于 2009-04-06 10:22 ·  中国 上海 浦东新区 电信
中级用户
★★
一看二跟三动手
积分 396
发帖 188
注册 2005-10-23 13:21
20年会员
UID 43919
来自 上海
状态 离线
Originally posted by balinger at 2009-4-6 09:43:
哎,可惜楼主的系统里没有XCOPY!

要是这样的话,那是『第 2 楼』的”先复制再删除“
*/. . . * .
.\* . * dosz
*/ . ./\~~~~~~~~~~~~'\. ^|◆
\* ,/,..,\,...........,\.◆
^|^| ..▎# ▎田 田 ▎ ^| ▎◆
^|^| ^&^&▎ ▎ ▎'^|'▎ o
^|^| ##■■■■■■■■■■〓
13 发表于 2009-04-06 11:47 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
9楼的代码,md之后可以马上就copy *.jpg ... &copy *.gif ... 省去后面的那个for
应该效率会高一些
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
26933062 +5 2009-04-06 13:31
精简
=> 个人网志
14 发表于 2009-04-06 13:03 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
不是不想办法,而是已经在想办法了,因为源文件很大的说,有上百G的文件,光是要复制过来的图片文件就有可能超G的,复制全部再删,这回贴,显然没有想想发贴人的心情,纯是不负责任的回复

你为啥不在顶楼说明源文件很大?这不是浪费别人的时间嘛?你总觉得别人回复不负责任,为啥不想想自己的提问方式是否负责人?你考虑过帮你解决问题的人的心情么?
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
netbenton +2 2009-04-06 13:08
15 发表于 2009-04-06 13:04 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
Originally posted by balinger at 2009-4-6 09:43 AM:
哎,可惜楼主的系统里没有XCOPY!

你从什么总结出楼主的系统没有XCOPY?
论坛跳转: