![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 14:39 |
共 48,040 主题排行 / 350,125 发帖 / 今日 0 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 怎样复制文件,并将该文件的目录结构一起复制 |
| 可打印版本 1,072 / 9 |
| 第1楼 kole | 发表于 2008-02-03 22:38 |
| 初级用户 发帖 12 积分 30 | |
|
怎样复制文件,并将该文件的目录结构一起复制 我现在要处理一些文件,文件在硬盘上是这样存放的,比如
d:\国语\港台男星\刘德华\中国人.mpg d:\国语\港台男星\刘德华\忘情水@50.mpg d:\l国语\港台男星\刘德华\天意@30.mpg d:\国语\港台男星\张学友\吻别.#.mpg d:\l国语\港台男星\张学友\一千个伤心的理由.#.mpg 都是这样存放的,硬盘中有好多,歌曲名都是存放在以歌星命名的目录中 而我现在要选出部分我想要的文件,我现在怎样将原始盘中“刘德华”“忘情水”或“刘德华”“中国人”的文件连同它的目录结构一起复制到f:\,要求复制后的目录结构一样,用什么批处理命令实现呀。一开始我想过用遍历整个磁盘中含有“中国人”的拷出来,但还有一个问题就是,硬盘中也会有“中国人民解放军进行曲”,这样不知道怎么处理了。要根据歌星名关联了。现在请大家帮忙一下了,我实在没办法了。非常感谢。 [ Last edited by kole on 2008-2-3 at 10:44 PM ] |
|
| 第2楼 fzp1978321 | 发表于 2008-02-03 22:40 |
| 初级用户 发帖 50 积分 110 | |
|
用XCOPY /S/E即可
例:XCOPY C:\刘 F:\ /S/E [ Last edited by fzp1978321 on 2008-2-3 at 10:41 PM ] |
|
| 第3楼 kole | 发表于 2008-02-03 22:46 |
| 初级用户 发帖 12 积分 30 | |
|
我是要选其中的一些文件,不是整个目录拷的
|
|
| 第4楼 kole | 发表于 2008-02-03 22:50 |
| 初级用户 发帖 12 积分 30 | |
|
for /r D:\ %%a in (*中国人*.*) do xcopy "%%a" f:\
这个命令行不行呀,这样就是不能指定是刘德华的“中国人”,还有怎样复制目录结构呀 |
|
| 第5楼 kole | 发表于 2008-02-03 22:51 |
| 初级用户 发帖 12 积分 30 | |
|
在线等。。。。高手请进
|
|
| 第6楼 fastslz | 发表于 2008-02-04 00:11 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
Originally posted by kole at 2008-2-3 22:50: 命令行把2个%%a换成%a,这个是练DOS、CMD的基本功 |
|
| 第7楼 3742668 | 发表于 2008-02-04 00:37 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
代码未测试,请酌情自行修改. 如果代码执行正确不妨建立一文本文件,然后用for去读取它的内容来替换set /p,毕竟在命令提示符下输入中文还是比较麻烦的。 |
|
| 第8楼 kole | 发表于 2008-02-06 21:04 |
| 初级用户 发帖 12 积分 30 | |
|
非常感谢版主大哥,如果我生成一个文本文件,存放set /p后的歌星名,歌曲名,TXT文件中存的放格式为:歌星名|歌曲名 ,那请问这代码应该怎样来改一下。谢谢
|
|
| 第9楼 3742668 | 发表于 2008-02-08 12:19 |
| 荣誉版主 发帖 718 积分 2,013 | |
Originally posted by kole at 2008-2-6 21:04: 参考for /f的用法。 本版相关的讨论太多了。 |
|
| 第10楼 lovelymorning | 发表于 2008-02-24 22:08 |
| 初级用户 发帖 72 积分 131 | |
|
如果你的存放格式是 歌星名|歌曲名
那就用 for /f "delims=| tokens=1" %%a in (name.txt) do set file=%%a for /f "delims=| tokens=2" %%b in (name.txt) do set name=%%b 这两句替换 set /p File=输入歌曲名: set /p Name=输入歌星名: 这两个就行了 或是就直接 歌名与 歌曲名 之间以一空格为界限就行了,省得在for里再打 delims |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |