我有以下代码,
@echo off
cls
set /p word=
set string=%word%
set temp_str=%string%
set str_len=0
:lengthloop
if defined temp_str (
set temp_str=%temp_str:~1%
set /A str_len += 1
goto lengthloop )
echo %str_len%
set str_len=num
SET var2=%string:~0,-%num%
echo %var2%
SET var3=%string:~-2%
echo %var3%
pause
如何使用以下内容获取用户输入的最后两个字母以外的所有字母
SET var2=%string:~0,-%num%
答案 0 :(得分:1)
你可以试试这个:
@echo off
setlocal EnableDelayedExpansion
set /p word=
set string=%word%
set "num=2"
SET "var2=!string:~0,-%num%!"
echo %var2%
pause
或者,如果你已经在扩展的区块内:
@echo off
setlocal EnableDelayedExpansion
set /p word=
set string=%word%
set "num=2"
FOR /L %%G IN (%num%,1,%num%) DO SET "var2=!string:~0,-%%G!"
echo %var2%
pause
答案 1 :(得分:0)
set "var2=%stringL~0,-2%"
应该可以将string
的值除var2
之外的最后2个字符。
(见
set /?
从文档提示中 - 实际上除了最后2个字符之外的所有字符都显示为示例)