中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » for /f 命令里,delims若指定为",如何来实现
作者:
标题: for /f 命令里,delims若指定为",如何来实现 上一主题 | 下一主题
Will
新手上路





积分 6
发帖 2
注册 2008-8-4
状态 离线
『楼 主』:  for /f 命令里,delims若指定为",如何来实现

RT
s.txt 内容如下:

  Quote:
i"love"u

用for /f 命令来读取love:
@echo off
for /f "tokens=2 delims="" %%i in (s.txt) do echo %%i
这里的"貌似有问题   执行出错

请各位大大教教小菜   若要将delims指定为" 时,如何实现?

PS.在一个帖子里看到一行命令:
if /i "%~d0"=="c:" (exit) else (cd c:)
这里的%~d0是什么意思?指的是什么?

感谢各位大大不吝赐教

[ Last edited by Will on 2008-8-4 at 01:09 AM ]

2008-8-4 00:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 2 楼』:  


@echo off
set/p var=<s.txt
for /f "tokens=2" %%a in ("%var:"= %") do echo %%a
pause>nul
%~1         - expands %1 removing any surrounding quotes (")
%~f1        - expands %1 to a fully qualified path name
%~d1        - expands %1 to a drive letter only
%~p1        - expands %1 to a path only
%~n1        - expands %1 to a file name only
%~x1        - expands %1 to a file extension only
%~s1        - expanded path contains short names only
%~a1        - expands %1 to file attributes
%~t1        - expands %1 to date/time of file
%~z1        - expands %1 to size of file
%~$PATH:1   - searches the directories listed in the PATH
               environment variable and expands %1 to the fully
               qualified name of the first one found.  If the
               environment variable name is not defined or the
                      file is not found by the search, then this
                      modifier expands to the empty string

[ Last edited by pusofalse on 2008-8-4 at 01:51 AM ]



心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-8-4 01:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zqz0012005
中级用户




积分 297
发帖 135
注册 2006-10-21
状态 离线
『第 3 楼』:  

各位前辈早已得出的结论是:双引号"不能做为delims的分隔符!

没想到现在还有人不信这个邪!(当然也可能是前辈们没有找到而已)



hh.exe ntcmds.chm::/ntcmds.htm
2008-8-4 07:12
查看资料  发短消息 网志  OICQ (411976538)  编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  


@echo off
set str=i"love"u
set str=%str:"=#%
for /f "tokens=2 delims=#" %%i in ("%str%") do echo %%i




2008-8-4 10:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by zqz0012005 at 2008-8-4 07:12 AM:
各位前辈早已得出的结论是:双引号"不能做为delims的分隔符!

没想到现在还有人不信这个邪!(当然也可能是前辈们没有找到而已)

嗯。是啊。是不能做为delims的分隔符。
但并不代表不可以用 “ 分隔。。。



知,不觉多。不知,乃求知
2008-8-6 04:24
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Will
新手上路





积分 6
发帖 2
注册 2008-8-4
状态 离线
『第 6 楼』:  

感谢各位大大  原来是把"用其他的字符替换…

2008-8-19 16:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: