中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 求高手来看看能否实现 上一主题 | 下一主题
hz49666684
初级用户





积分 28
发帖 12
注册 2007-6-2
状态 离线
『楼 主』:  求高手来看看能否实现

求DOS下用MD COPY 实现多文件夹。多文件COPY
。。
本人XP完全暴裂。
无光驱。软驱。家在大山。就一台电脑。所以不用考虑借挂别的机器。

现C盘下。。很多文件夹AND文件需要备份到D盘下。
由于文件和文件夹太多。高达8G。。文件夹多到2000多。文件多达3W多
都是学校里的DOC文档。。现在请各位高手帮忙
做个能简单点的COPY工具。
不要说用XCOPY。。我机器上没有XCOPY。我的系统是在装之前做了
FORMAT C:/S /Q
只能进DOS 用COPY程序。。。

拜托各位高手了。。。。。

2007-6-9 16:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Michael
钻石会员





积分 10046
发帖 3039
注册 2002-11-11
状态 离线
『第 2 楼』:  

用ghost算了.



简单就是美
2007-6-9 22:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hz49666684
初级用户





积分 28
发帖 12
注册 2007-6-2
状态 离线
『第 3 楼』:  

没有GHOST怎么GHOST。。。。。。。。
大哥。。拜托来点有见地的办法。

2007-6-9 22:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Michael
钻石会员





积分 10046
发帖 3039
注册 2002-11-11
状态 离线
『第 4 楼』:  

那没办法了,仅凭几个dos内部命令,怎么做出新的dos工具来。



简单就是美
2007-6-10 19:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ldr2zjj
初级用户





积分 167
发帖 95
注册 2007-5-6
状态 离线
『第 5 楼』:  



  Quote:
假如你有一个文件 todel.txt,里面是所有要删除的文件列表,现在你想将里面列出的每个文件都删掉。假设这个文件是每个文件名占一行,象这样:

c:\temp\a1.txt
c:\temp\a2.txt
c:\temp\subdir\b3.txt
c:\temp\subdir\b4.txt

那么可以用FOR来完成:

for /f %a in (todel.txt) do del %a

这个命令还可以更强大。比如你的 todel.txt 并不是象上面例子那么干净,而是由DIR直接生成,有一些没用的信息,比如这样:

Volume in drive D is DATA
Volume Serial Number is C47C-9908
Directory of D:\tmp
09/26/2001 12:50 PM 18,426 alg0925.txt
12/02/2001 04:29 AM 795 bsample.txt
04/11/2002 04:18 AM 2,043 invitation.txt
4 File(s) 25,651 bytes
0 Dir(s) 4,060,700,672 bytes free

for 仍然可以解出其中的文件名并进行操作:

for /f "skip=5 tokens=5" %a in (todel.txt) do @if exist %a DEL %a

当然,上面这个命令是在进行删除,如果你只是想看看哪些文件将被操作,把DEL换成echo:

for /f "skip=5 tokens=5" %a in (todel.txt) do @if exist %a echo %a

你将看到:

alg0925.txt
bsample.txt
invitation.txt

skip=5表示跳过前5行(就是DIR输出的头部信息),tokens=5表示将每行的第5列作为循环值放入%a,正好是文件名。在这里我加了一个文件存在判断,是因为最后一行的"free"刚好也是第5列,目前还想不出好的办法来滤掉最后两行,所以检查一下可保万无一失。

看了上面的文章有这样的想法`~


首先把你要copy的文件名全都放在一个txt文本里边~~以每行一个文件~~完后执行下面的命令~


for /f %a in (todel.txt) do copy %a d:\
关于怎么在DOS里做成一个文本我可不太会了`~这有待高手的帮忙了`~
这只是我的个人想法``不知道行不行得通`~

[ Last edited by ldr2zjj on 2007-6-11 at 02:19 PM ]

2007-6-11 14:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zasxcdfv
初级用户





积分 152
发帖 75
注册 2007-2-6
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by ldr2zjj at 2007-6-11 02:18 PM:


看了上面的文章有这样的想法`~


首先把你要copy的文件名全都放在一个txt文本里边~~以每行一个文件~~完后执行下面的命令~


for /f %a in (todel.txt ...

单纯的列出文件名可以用tree。但是完整路径不知道该怎么实现。
等待高手

2007-6-12 14:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hz49666684
初级用户





积分 28
发帖 12
注册 2007-6-2
状态 离线
『第 7 楼』:  

可以用TREE >>1.txt
获取到整个盘的文件目录结构。
但这样怎么才能把他做成见到文件夹 后MD
见到文件直接COPY到改到的位置呢??

2007-6-12 19:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Michael
钻石会员





积分 10046
发帖 3039
注册 2002-11-11
状态 离线
『第 8 楼』:  

tree? 你都format/s了, 哪来的tree?



简单就是美
2007-6-12 20:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
MYS
元老会员




积分 5170
发帖 1637
注册 2002-10-16
来自 广东佛山
状态 离线
『第 9 楼』:  

无光驱,无软驱,如果启动DOS?用U盘么?

如果有NC,VC等可以整个文件夹复制的,如果有RAR也可以,借用RAR的压缩和解压缩功能也可做到。

实在没有,用MD在D盘建好文件夹,然后copy *.* d:\XXXX 一次可复制一个文件夹内的全部文件(不包括子文件夹和隐藏文件)。



我的网志
http://hzmys.blog.163.com/
我的网盘
firststep.qjwm.com
fsmys.ys168.com
ssmys.ys168.com
www.brsbox.com/fsmys
www.brsbox.com/ssmys
www.brsbox.com/ccdos
2007-6-13 20:55
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (2664429)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: