楼 主
删除变量最后一个字符应该怎么写?
发表于 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%
论坛跳转: