中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 请问细节 上一主题 | 下一主题
warmoon
初级用户





积分 40
发帖 13
注册 2006-3-11
来自 浙江温州曾在宁波
状态 离线
『楼 主』:  请问细节

在批处理文件中有这么一段用于整盘同类文件的备份。

md e:\bb

dir /b /s f:\*.txt >e:\a.txt

for /f %%i in (e:\a.txt) do copy /y %%i e:\bb


最后的命令把所有F盘的txt文件都烤到了e:\bb,但如果"F:\.....\*.txt"的路径中含有空格键,那么路径就会在空格处断掉,导致该txt文件不能复制,而进入下一个文件的复制。

不知哪位大侠能教教鄙人是什么原因,如何改进。洗耳恭听!



2006-3-11 23:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
JonePeng
金牌会员

D◎$ Fαп


积分 4562
发帖 1883
注册 2004-1-19
来自 广东广州
状态 离线
『第 2 楼』:  

带空格的文件名是长文件名的问题。这类问题已经讨论过多次了,用双引号括住路径名就迎刃而解了:

for /f %%i in (e:\a.txt) do copy /y "%%i" e:\bb



----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
  
2006-3-12 00:24
查看资料  发送邮件  发短消息 网志  OICQ (373343541)  编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 3 楼』:  

LZ真BT啊,是不是不用for就不算是真正的批处理?
很简单的一件事,居然弄得这复杂。
md e:\bb
copy f:\*.txt e:\bb\*.txt
copy,xcopy,这两个怎么也比for好用高效吧。

2006-3-12 01:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
0401
中级用户

带走



积分 435
发帖 88
注册 2005-9-24
状态 离线
『第 4 楼』:  

to 楼上:

LZ目的是拷贝F盘的所有txt文件。注意“/s”参数。

to LZ:

像2楼说的那样。但别忘记加上“delims=”。

for /f “delims=” %%i in (e:\a.txt) do copy /y "%%i" e:\bb

2006-3-12 15:24
查看资料  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 5 楼』:  

to 楼上
请注意我特意有提到xcopy命令。

2006-3-12 18:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
0401
中级用户

带走



积分 435
发帖 88
注册 2005-9-24
状态 离线
『第 6 楼』:  

to 楼上:

不好意思,有注意到的,不过那时没去验证。所以我刚才特意查过xcopy的帮助,虽然能“把所有F盘的txt文件都拷到了e:\bb”,但同时复制时会创建原有的目录结构,显然楼主不是想表达这个意思。
不过仍谢谢你的提醒。

2006-3-12 21:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 7 楼』:  

呵呵,这也正好是用xcopy的原因,如果复制的不同目录下的文件有重名的怎么办?
而且此例中的批处理不能处理 要复制的文件中有隐藏,系统属性的文件  的情况。

2006-3-12 22:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 8 楼』:  

这种讨论有点儿形而上学了,其实楼主问的问题很简单,如果处理文件名中带空格的文件的拷贝。Jone的答复再加上0401的补充,已经很完美的解决了问题。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2006-3-13 00:23
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 9 楼』:  

形而上学:形而上学是与辩证法相对立的世界观和方法论。其特点是用孤立的、片面的、静止的观点去看世界。

2006-3-13 02:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
warmoon
初级用户





积分 40
发帖 13
注册 2006-3-11
来自 浙江温州曾在宁波
状态 离线
『第 10 楼』:  

好感激大家顶贴!鼓掌鼓掌~~~啪啦啪啦啪啦~~~
可是问题还在:

md e:\bb

dir /b /s f:\*.txt >e:\a.txt

for /f “delims=” %%i in (e:\a.txt) do copy /y "%%i" e:\bb

CMD说:“此时不应有”。”
这个For 语句还有待考究呢。

2006-3-15 21:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 11 楼』:  

CMD说:“此时不应有”。”
很显然是for出了毛病,此时不应有    ”     
很显然毛病是出在 for /f 后面
一般来说"是不会出问题的,既然提示它出了问题我想很可能是你自己的问题。在for/f后面要么是接",要么是接%,接了别的字符才会提示错误,所以很可能是你的"输入有问题。
你重新打开记事本,在半角,英文输入法下重新输入一遍看看,如果不行切换到全角看看。
我认为这个for语句没有什么好研究的,值得研究的是某些人。。。

2006-3-16 10:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
warmoon
初级用户





积分 40
发帖 13
注册 2006-3-11
来自 浙江温州曾在宁波
状态 离线
『第 12 楼』:  

经某人考究终于发现问题之所在,现报如下:
问题:  俺在中文状态下输了那前两个“”引号!导致DOS不买帐。
等级:  低级
综合:  新手常犯之低级糊涂!
呈辞:  望大侠莫怪!

在此谢罪!


  非常感谢大家的帮助,小生就此拜谢!

2006-3-16 19:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 13 楼』:  



  Quote:
Originally posted by 3742668 at 2006-3-13 02:45:
形而上学:形而上学是与辩证法相对立的世界观和方法论。其特点是用孤立的、片面的、静止的观点去看世界。

这种引用解释的行为是典型的形而上学的行为。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2006-3-17 08:57
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 14 楼』:  

是~~~~~~~么?
不要不懂装懂哦~!

2006-3-17 13:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bagpipe
银牌会员

DOS联盟捡破烂的


积分 1144
发帖 425
注册 2005-10-20
来自 北京
状态 离线
『第 15 楼』:  

其实LZ的问题是这样的,说如果a.txt文件的路径带有空格怎么办,那咱们就这么办for /f “usebackq” %%i in ("e:\a.txt") do copy /y "%%i" e:\bb,其实没有必要用DELIMS的

2006-3-17 13:24
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: