Board logo

标题: 删除变量最后一个字符应该怎么写? [打印本页]

作者: bosinl2004     时间: 2007-12-26 13:38    标题: 删除变量最后一个字符应该怎么写?

删除变量最后一个字符应该怎么写?
set a=123456
想把变量a中最后一个字符删除。应该怎么写?
作者: HAT     时间: 2007-12-26 14:32
很笨的办法:
@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%

作者: lxmxn     时间: 2007-12-26 14:43
不需要那么复杂:
@echo off
set SrcStr=123456
echo %SrcStr:~0,-1%
pause
参考: [CMD]理解变量字符的截取功能
http://www.cn-dos.net/forum/viewthread.php?tid=25746
作者: HAT     时间: 2007-12-26 14:59
学到了,呵呵,多谢斑竹。
@echo off
set a=123456
set b=%a:~0,-1%
echo %b%