![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-02 19:08 |
共 48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 批处理复制文档 |
| 可打印版本 1,961 / 13 |
| 第1楼 26933062 | 发表于 2006-12-19 21:31 |
| 银牌会员 发帖 879 积分 2,268 | |
|
批处理复制文档 现有2个文档a.txt b.txt
a.txt内容如下 f:\111\sggs\ghf\dg.txt f:\111\ag\sd\kl.txt f:\111\hj\gh\dgj.txt f:\111\jk\tuyf\djk.txt f:\111\kl\kllh\fdg.txt b.txt内容如下 f:\111\skl f:\111\wes f:\111\hjl f:\111\kl f:\111\kl 要求:将a.txt中第一行的文档复制到b.txt中的第一行目录下,第二行的文档复制到b.txt中的第二行目录下,依次类推 接触批处理不久,想破了头想不出,请各位帮帮忙,先谢了! |
|
| 第2楼 NaturalJ0 | 发表于 2006-12-19 22:11 |
| 银牌会员 发帖 533 积分 1,181 | |
| 第3楼 NaturalJ0 | 发表于 2006-12-19 22:13 |
| 银牌会员 发帖 533 积分 1,181 | |
|
忘说明了,上面是演示代码。
如果觉得没问题,把这行中的 echo 去掉就行了。 if defined dst echo copy "!src!" "!dst!" |
|
| 第4楼 26933062 | 发表于 2006-12-19 22:46 |
| 银牌会员 发帖 879 积分 2,268 | |
|
2楼的高手,非常谢谢你,但怎么第一行的复制不了呢?
和我复制的格式有关吗? 还有想请问一下,红字部分是什么意思? 可以把每句都作个解释吗? 谢谢!!! setlocal enabledelayedexpansion set skip=0 for /f %%i in (22.txt) do ( set src=%%i if !skip!==0 (set /p dst=<33.txt) else (call :dst !skip!) set /a skip+=1 if defined dst copy "!src!" "!dst!" set src= set dst= ) pause>nul GOTO :EOF :dst for /f "skip=%1" %%i in (33.txt) do (set dst=%%i&GOTO :EOF) 还有就是eof标签在哪里? [ Last edited by 26933062 on 2006-12-19 at 09:53 AM ] |
|
| 第5楼 NaturalJ0 | 发表于 2006-12-19 23:00 |
| 银牌会员 发帖 533 积分 1,181 | |
|
那是启用变量延迟,你可以在论坛搜下,有很详细的解释。
我写的时候试过演示代码,的确处理了第一行啊。 copy "f:\111\sggs\ghf\dg.txt" "f:\111\skl" copy "f:\111\ag\sd\kl.txt" "f:\111\wes" copy "f:\111\hj\gh\dgj.txt" "f:\111\hjl" copy "f:\111\jk\tuyf\djk.txt" "f:\111\kl" copy "f:\111\kl\kllh\fdg.txt" "f:\111\kl" 显示了上面这些 eof 应该是 end of file 的意思,指文件尾,就相当于在最后放个 :end 。 [ Last edited by NaturalJ0 on 2006-12-19 at 11:12 PM ] |
|
| 第6楼 26933062 | 发表于 2006-12-19 23:18 |
| 银牌会员 发帖 879 积分 2,268 | |
|
不好意思,又麻烦你,我没去掉echo的时候在cmd下,也显示处理了第一行,但是去掉echo后,就是无法复制第一行.郁闷
|
|
| 第7楼 NaturalJ0 | 发表于 2006-12-19 23:20 |
| 银牌会员 发帖 533 积分 1,181 | |
|
那你查一下,原文件是否存在,目标文件夹是否存在。
|
|
| 第8楼 26933062 | 发表于 2006-12-20 00:44 |
| 银牌会员 发帖 879 积分 2,268 | |
|
搞定了,把copy改成xcopy就可以了,再次谢谢你!!
|
|
| 第9楼 mackyliu | 发表于 2006-12-20 00:49 |
| 初级用户 发帖 16 积分 32 | |
|
高人,真是高人
|
|
| 第10楼 ccwan | 发表于 2006-12-20 00:53 |
| 金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊 | |
|
没仔细看,我一直以为是合并文档呢!^_^
|
|
| 第11楼 ccwan | 发表于 2006-12-20 03:39 |
| 金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊 | |
|
不好意思,加分加错地方了^_^
不过都是给NaturalJ0加的,就这样吧。 |
|
| 第12楼 26933062 | 发表于 2006-12-20 09:50 |
| 银牌会员 发帖 879 积分 2,268 | |
|
还有个问题,
我怎么给最佳答案加分?就是说怎么结束我的提问? |
|
| 第13楼 namejm | 发表于 2006-12-20 10:03 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
每篇帖子的右下角都有一个 评分 按钮,可以给别人打分。
结束提问是什么意思呢?是不是想给自己的问题加上已解决的标记?如果是这样的话,可以点顶楼帖子右下脚的 编辑 ,通过修改帖子标题来打标记。 |
|
| 第14楼 26933062 | 发表于 2006-12-20 11:37 |
| 银牌会员 发帖 879 积分 2,268 | |
Originally posted by namejm at 2006-12-19 21:03: 谢谢 懂了, |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |