level 4
@echo off
set x=123456789
echo %x:~n,k%
-----------------------------------------------------------------------------
~ 取值 ,n指针,k偏移量
-----------------------------------------------------------------------------
重点:理解 n,k的含义例如set x=123456789 echo %x:~-4,3% 显示结果则为678,让我们从新看下这个字符串并构想下其中n,k的位置当n为正值的时候坐标其实是(0)123456789 反之当n为负值的时候123456789(0),我们n=-4得出的结论是指向6,偏移地址k=3,这时候明显得出结果就是678 那么同理
echo %x:~-4,2% 其显示结果就是67
echo %x:~-1,2% 显示结果为9
echo %x:~-1,1% 显示结果为9
echo %x:~-1,3% 显示结果为9
echo %x:~-1,100% 显示结果为9
上面4个为什么都是显示的9~~仔细想想一下指向和便宜地址,指向是9这是肯定的,但是9后面我们还有多的字符串吗?别被后面的数字给骗了,嘿嘿!
------------------------------------------------------------------------------
n为正 1 23456789 这个表示字符串
[0]123456789..... 指针起始位置应0对应1,注:[0]表示指针起始位置
根据这个我们对比去找指向。
n为负 123456789[0]
当k为负数的时候,我们可以理解成 从n开始取全部字符串的值,然后再逆向去掉k位
如:
x=123456789
%x:~-4,-3%
n指向6,根据上面的理解我们可以理解成从6开始取值,就是6789,然后在逆向去掉后面3位.
所以显示的结果为6~
%x:~-8,-3%
同上,应该显示为:23456
其实和游标差不多......
2013年06月08日 00点06分
1
set x=123456789
echo %x:~n,k%
-----------------------------------------------------------------------------
~ 取值 ,n指针,k偏移量
-----------------------------------------------------------------------------
重点:理解 n,k的含义例如set x=123456789 echo %x:~-4,3% 显示结果则为678,让我们从新看下这个字符串并构想下其中n,k的位置当n为正值的时候坐标其实是(0)123456789 反之当n为负值的时候123456789(0),我们n=-4得出的结论是指向6,偏移地址k=3,这时候明显得出结果就是678 那么同理
echo %x:~-4,2% 其显示结果就是67
echo %x:~-1,2% 显示结果为9
echo %x:~-1,1% 显示结果为9
echo %x:~-1,3% 显示结果为9
echo %x:~-1,100% 显示结果为9
上面4个为什么都是显示的9~~仔细想想一下指向和便宜地址,指向是9这是肯定的,但是9后面我们还有多的字符串吗?别被后面的数字给骗了,嘿嘿!
------------------------------------------------------------------------------
n为正 1 23456789 这个表示字符串
[0]123456789..... 指针起始位置应0对应1,注:[0]表示指针起始位置
根据这个我们对比去找指向。
n为负 123456789[0]
当k为负数的时候,我们可以理解成 从n开始取全部字符串的值,然后再逆向去掉k位
如:
x=123456789
%x:~-4,-3%
n指向6,根据上面的理解我们可以理解成从6开始取值,就是6789,然后在逆向去掉后面3位.
所以显示的结果为6~
%x:~-8,-3%
同上,应该显示为:23456
其实和游标差不多......
