中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 对for变量截取字符串的问题 上一主题 | 下一主题
jarry0932
初级用户





积分 128
发帖 122
注册 2009-9-21
状态 离线
『楼 主』:  对for变量截取字符串的问题

有如下代码:
@echo off
setlocal enabledelayedexpansion
for %%a in (*.*) do (
set b=%%a
echo !b:~-3!
)
pause
不知道能否直接对%%a 进行字符串截取,而不使用另外一个变量?我试了几种方法好像都不行,请大侠们赐教!!

2010-2-9 14:41
查看资料  发送邮件  发短消息 网志  OICQ (274997087)  编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 2 楼』:  

你如果是要截取后缀名,直接echo %%~xa就可以了,

[ Last edited by bat-zw on 2010-2-9 at 15:10 ]



批处理之家新域名:www.bathome.net
2010-2-9 15:07
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
jarry0932
初级用户





积分 128
发帖 122
注册 2009-9-21
状态 离线
『第 3 楼』:  

谢谢大侠指点,但假如我现在不截取后缀名,只截取后缀名的最后2个字符,或者是文件名的前2个字符,应该怎么办呢?

2010-2-11 14:43
查看资料  发送邮件  发短消息 网志  OICQ (274997087)  编辑帖子  回复  引用回复
jarry0932
初级用户





积分 128
发帖 122
注册 2009-9-21
状态 离线
『第 4 楼』:  

又或者是对于一个普通的字符串来说,我可以任意截取,但不用一楼的方法,能实现吗?请大侠们指点!

2010-2-11 14:47
查看资料  发送邮件  发短消息 网志  OICQ (274997087)  编辑帖子  回复  引用回复
q8249014
初级用户





积分 175
发帖 45
注册 2007-8-4
状态 离线
『第 5 楼』:  

for中所使用的变量 [%%i] 属于批处理中一种特殊的变量体,不能使用形同

%var:str1=str2% 的变量替换   只有使用[%]百分号和开启延迟环境变量扩

展后使用[!]英文感叹号引用的变量才可以进行变量替换

2010-2-12 18:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jarry0932
初级用户





积分 128
发帖 122
注册 2009-9-21
状态 离线
『第 6 楼』:  

原来如此啊 多谢啦

2010-2-13 13:25
查看资料  发送邮件  发短消息 网志  OICQ (274997087)  编辑帖子  回复  引用回复

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


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



论坛跳转: