中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 删除变量最后一个字符应该怎么写?
作者:
标题: 删除变量最后一个字符应该怎么写? 上一主题 | 下一主题
bosinl2004
初级用户





积分 47
发帖 26
注册 2007-11-2
状态 离线
『楼 主』:  删除变量最后一个字符应该怎么写?

删除变量最后一个字符应该怎么写?
set a=123456
想把变量a中最后一个字符删除。应该怎么写?

2007-12-26 13:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





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

很笨的办法:
@echo off
set Max=10
set SrcStr=123456

setlocal EnableDelayedExpansion
for /l %%a in (0,1,%max%) do if "!SrcStr:~%%a,1!" equ "" set StrLen=%%a && goto :endfor
:endfor
endlocal

set /a StrFlag=%StrLen%-1
call set DstStr=%%SrcStr:~0,%StrFlag%%%
echo %DstStr%




2007-12-26 14:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




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

不需要那么复杂:
@echo off
set SrcStr=123456
echo %SrcStr:~0,-1%
pause
参考: [CMD]理解变量字符的截取功能
http://www.cn-dos.net/forum/viewthread.php?tid=25746

2007-12-26 14:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





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

学到了,呵呵,多谢斑竹。
@echo off
set a=123456
set b=%a:~0,-1%
echo %b%




2007-12-26 14:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: