中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-13 05:22
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS学习入门 & 精彩文章 (教学室) » 求高手来看看能否实现
可打印版本  1,234 / 8
第1楼 hz49666684 发表于 2007-06-09 16:19
初级用户 发帖 12 积分 28
求高手来看看能否实现
求DOS下用MD COPY 实现多文件夹。多文件COPY
。。
本人XP完全暴裂。
无光驱。软驱。家在大山。就一台电脑。所以不用考虑借挂别的机器。

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

拜托各位高手了。。。。。
第2楼 Michael 发表于 2007-06-09 22:10
钻石会员 发帖 3,041 积分 10,056
用ghost算了.
第3楼 hz49666684 发表于 2007-06-09 22:32
初级用户 发帖 12 积分 28
没有GHOST怎么GHOST。。。。。。。。
大哥。。拜托来点有见地的办法。
第4楼 Michael 发表于 2007-06-10 19:26
钻石会员 发帖 3,041 积分 10,056
那没办法了,仅凭几个dos内部命令,怎么做出新的dos工具来。
第5楼 ldr2zjj 发表于 2007-06-11 14:18
初级用户 发帖 95 积分 167
假如你有一个文件 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 ]
第6楼 zasxcdfv 发表于 2007-06-12 14:20
初级用户 发帖 75 积分 152
Originally posted by ldr2zjj at 2007-6-11 02:18 PM:


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


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


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

单纯的列出文件名可以用tree。但是完整路径不知道该怎么实现。
等待高手
第7楼 hz49666684 发表于 2007-06-12 19:29
初级用户 发帖 12 积分 28
可以用TREE >>1.txt
获取到整个盘的文件目录结构。
但这样怎么才能把他做成见到文件夹 后MD
见到文件直接COPY到改到的位置呢??
第8楼 Michael 发表于 2007-06-12 20:00
钻石会员 发帖 3,041 积分 10,056
tree? 你都format/s了, 哪来的tree?
第9楼 MYS 发表于 2007-06-13 20:55
元老会员 发帖 1,637 积分 5,170 来自 广东佛山
无光驱,无软驱,如果启动DOS?用U盘么?

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

实在没有,用MD在D盘建好文件夹,然后copy *.* d:\XXXX 一次可复制一个文件夹内的全部文件(不包括子文件夹和隐藏文件)。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023