![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 16:39 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 【已解决】只复制文件夹 不包括里面的内容 |
| 可打印版本 3,339 / 19 |
| 第16楼 balinger | 发表于 2009-04-07 02:30 |
| 中级用户 发帖 115 积分 356 | |
|
回HAT版主。
XCOPY本就是带目录结构复制文件的。如楼主的系统有XCOPY,以编9楼代码的水平,应当直接用XCOPY。 其实,一是对楼主的提问方式不满,尤其“其实刚刚在其它论坛发贴过!”一句,好象有本坛非得跟其他论坛PK之嫌。二是想提示楼主,5楼yishanju已指出的XCOPY,本是最佳。 以我对本坛的认知,相信许多人都清楚,9楼代码虽有水准,但就楼主的问题而言,简单问题复杂化了。 |
|
| 第17楼 26933062 | 发表于 2009-04-07 05:01 |
| 银牌会员 发帖 879 积分 2,268 | |
|
就9楼代码而言,我认为13楼给的建议非常好,但用xcopy直接实现我确实不知怎么办。楼主的要求是保留批处理当前目录的所有目录及子目录以及jpg、gif文件。
如何用xcopy只复制指定后缀的文件还请兄不吝赐教。 曾经尝试过用xcopy /t /e 来构建目录树,但发现如果目标目录也在批处理当前目录时会提示“不能执行周期性复制”的错误。 zpz0012005 兄曾给过一个 xcopy 的代码,但如果“目标目录”在“某文件夹具体路径”里时会提示“不能执行周期性复制” [ Last edited by 26933062 on 2009-4-7 at 05:32 ] |
|
| 第18楼 balinger | 发表于 2009-04-07 11:33 |
| 中级用户 发帖 115 积分 356 | |
|
@echo off
set src=源目录路径 set dst=目标目录 for %%a in (jpg gif) do xcopy /s/e/c "%src%\*.%%a" "%dst%\" 我的理解是,该批处理不在源目录下,生成的目标目录与批处理在同一目录。否则不必指定源目录具体路径,直接用.代替%src%即可。 如果该批处理在源目录下,会提示“不能执行周期性复制”的错误。因为被复制的源目录包含了目标目录。其实可以变通一下,把目标目录移到父目录下,与源目录并列: @echo off set dst=目标目录名 for %%a in (jpg gif) do xcopy /s/e/c ".\*.%%a" "..\%dst%\" 同理,如果批处理不在源目录下,希望生成的目标目录与源目录在一起: @echo off set src=源目录路径 set dst=目标目录 for %%a in (jpg gif) do xcopy /s/e/c "%src%\*.%%a" "%src%\..\%dst%\" 当然,如果源目录是根目录,用..肯定不行。其实9楼的代码现在也不适合在根目录下执行,不过他可以修改,加一个\。 一定要生成的目标目录在源目录下,9楼的代码可以,xcopy不可以。但我以为并不必要,复制本身就是从一个地方到另一个地方,不改变被复制的对象。xcopy不允许目标目录在源目录中,不是没有道理的。 楼主没有要求目标目录在源目录下,也没要求批处理在源目录下,复制的对象也不是根目录。依我的愚见,就两个xcopy就得了,文件类型多了再用for。 xcopy /s/e/c "c:\123\*.jpg" "d:\456\" xcopy /s/e/c "c:\123\*.gif" "d:\456\" |
|
| 第19楼 ligui0001 | 发表于 2009-04-09 04:13 |
| 初级用户 发帖 41 积分 58 | |
|
5楼写不不错
|
|
| 第20楼 a22124497 | 发表于 2009-04-10 00:10 |
| 新手上路 发帖 10 积分 14 | |
|
DIR得到文件事夹,然后再创建文件不就行了嘛?
|
|
| 上一页 1 2 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |