中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-29 10:58
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 删除变量最后一个字符应该怎么写? 查看 759 回复 3
楼 主 删除变量最后一个字符应该怎么写? 发表于 2007-12-26 13:38 ·  中国 香港 腾讯云
初级用户
积分 47
发帖 26
注册 2007-11-02 10:21
18年会员
UID 101471
性别 男
状态 离线
删除变量最后一个字符应该怎么写?
set a=123456
想把变量a中最后一个字符删除。应该怎么写?
2 发表于 2007-12-26 14:32 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
很笨的办法:

@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%
3 发表于 2007-12-26 14:43 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线
不需要那么复杂:
@echo off
set SrcStr=123456
echo %SrcStr:~0,-1%
pause


参考: 理解变量字符的截取功能
http://www.cn-dos.net/forum/viewthread.php?tid=25746
4 发表于 2007-12-26 14:59 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
学到了,呵呵,多谢斑竹。
@echo off
set a=123456
set b=%a:~0,-1%
echo %b%
论坛跳转: