中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]请教For循环中,如何支持带空格路径
作者:
标题: [求助]请教For循环中,如何支持带空格路径 上一主题 | 下一主题
lwb1978
初级用户




积分 72
发帖 26
注册 2007-5-17
状态 离线
『楼 主』:  [求助]请教For循环中,如何支持带空格路径

例如:
For %%i in (%BmpList%) do If %%~zi EQU 0 Del "%BmpList%"
上面这句,如果%BmpList%带有空格就出问题,又不能在in中采用"%BmpList%" 这样的办法支持空格,请大大们只招,谢了

2007-7-7 22:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  

怎么不能加上引号?

2007-7-8 09:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lwb1978
初级用户




积分 72
发帖 26
注册 2007-5-17
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by lxmxn at 2007-7-8 09:39 AM:
怎么不能加上引号?

比如 set BmpList=%temp%\bmp.txt
如果是用"%BmpList%"的话,我这里运行后for并不在bmp.txt里寻找,而是在%temp%\bmp.txt得出的字符串里寻找。

2007-7-8 15:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 4 楼』:  

你測試過沒有?

  Quote:
C:\>type "C:\Documents and Settings\Administrator\桌面\d.bat"
@echo off
set ok=c:\Documents and Settings\Administrator\_viminfo
for %%a in ("%ok%") do @echo\%%~nxa&echo %%~dpa&echo %%~za
pause
C:\>"C:\Documents and Settings\Administrator\桌面\d.bat"
_viminfo
c:\Documents and Settings\Administrator\
9042
请按任意键继续. . .



2007-7-9 01:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lwb1978
初级用户




积分 72
发帖 26
注册 2007-5-17
状态 离线
『第 5 楼』:  

我测试了,在我的电脑上运行你上面的for得出的结果是:
_viminfo
c:\Documents and Settings\Administrator\
ECHO 处于关闭状态。
请按任意键继续. . .

不知道是什么问题了,难道我电脑的cmd有问题?

2007-7-9 15:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 6 楼』:  

你的_viminfo莫非是个文件夹?

2007-7-9 17:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 7 楼』:  

或者你根本没有_viminfo文件?

2007-7-9 17:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lwb1978
初级用户




积分 72
发帖 26
注册 2007-5-17
状态 离线
『第 8 楼』:  

我明白了,原来for如果加了/f就会把"c:\Documents and Settings\Administrator\_viminfo"看成字符串了,晕。

2007-7-9 17:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 9 楼』:  

那你为什么给的代码没有/f参数呢?

2007-7-9 17:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lwb1978
初级用户




积分 72
发帖 26
注册 2007-5-17
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by lxmxn at 2007-7-9 05:53 PM:
那你为什么给的代码没有/f参数呢?

是我偷懒了,对不起,请问下如果在加/f的情况下有办法使用带空格的路径文件吗?

2007-7-10 01:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 11 楼』:  

那要看你想得到什么?
如果是分析文件的内容,可以这样:
for /f "usebackq delims=" %a in ("C:\Documents and Settings\Administrator\_vimrc") do @echo\%a
如果想得到文件的属性,可以这样:
for /f "delims=" %a in ("C:\Documents and Settings\Administrator\_vimrc") do @echo\%~nxa&echo\%~za


2007-7-10 11:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lwb1978
初级用户




积分 72
发帖 26
注册 2007-5-17
状态 离线
『第 12 楼』:  

问题解决,再次感谢版主的耐心指导

2007-7-10 18:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: