我需要删除Windows批处理中变量的最后3个字符
set string=abcdefghij
我需要以下输出:
abcdefg
我可以从变量中删除前3个字符:
set newstring=%string:~3,100%
echo %newstring%
输出:
defghij
但是我如何从字符串中删除最后3个字符-并将结果存储到变量中?
我可以通过使用sed(来自GnuWin32)显示没有最后3个字符的字符串,但我还需要将结果存储到另一个变量中。我需要一个比将结果存储在文件中然后将文件读入变量(set/p newstring=<file.txt)>
更好的解决方案。后注:这个问题非常不同,它需要从多行文本中删除最后一个字符,而我需要从变量中删除最后一个字符。
使用负索引
set longtext=1234567890
:: Remove last 3 characters
echo %longtext:~0,-3%
:: show last three characters
echo %longtext:~-3%
输出:
1234567
890