Board logo

标题: dos之set截取字符串实例法全研究 [打印本页]

作者: webfans     时间: 2010-3-4 21:16    标题: dos之set截取字符串实例法全研究
前言:这是今年寒假在家学批外理时的学习笔记,这是我学到set截取字符串之后的学习心得做成了一个小bat方便查看,原本已经在我百度空间上发出来了,不过想想还是发到这里和爱dos的大家伙共同交流才是最适合的!

@echo off
color 0a
title 《dos之set截取字符串实例法全研究》
echo 示例用法set var=%z:~x,y%
echo.
echo.
set a=幸福滴大脸,正在学习批处理!QQ390322157 论坛ID:webfans
echo ^|1^|2^|3^|4^|56^|78^|9^|
echo ---------------------------------------------------------------------------
echo 要截取的变量为:%a%
echo ---------------------------------------------------------------------------
echo.

echo 截取sample_1:
echo.
set var1=%a:~2,3%
echo %a:~2,3%从第2列字符起"以后"截取3列字符
echo 结果应该为:滴大脸 注意:若x为正数,则从x起但不包括x位置的字符
echo.
pause
echo=====Result1==========
echo 截取结果:%var1%
echo=====================
echo.
pause

echo 截取sample_2:
echo.
set var2=%a:~2,-24%
echo %a:~2,-24%从第2列后起截取到倒数第24列
echo 结果应该为:滴大脸,正在学习批处理!
echo.
pause
echo=====Result2==========
echo 截取结果:%var2%
echo=====================
echo.
pause

echo 截取sample_3:
echo.
set var3=%a:~3%
echo %a:~3%从第3个字符"以后"起截取'全部列'的字符
echo 结果应该为:大脸,正在学习批处理QQ390322157 论坛ID:webfans
echo.
pause
echo=====Result3==========
echo 截取结果:%var3%
echo=====================
echo.
pause

echo 截取sample_4:
echo.
set var4=%a:~-24,11%
echo %a:~-24,11%从倒数第24列起截取11列字符
echo 截取结果应该为:QQ390322157 注意:若x为负数,则从x起则包括x位置的字符
echo.
pause
echo=====Result4==========
echo 截取结果:%var4%
echo=====================
echo.
pause

echo 截取sample_5:
echo.
echo 要截取的的字符串是:%a%
set var5=%a:~-24,-11%
echo %a:~-24,-11%从倒数第24列截取到倒数第11列
echo 截取结果应该为:QQ390322157 论
echo.
pause
echo=====Result5==========
echo 截取结果:%var5%
echo=====================
echo.
pause

作者: HAT     时间: 2010-3-4 22:15
全吗?

作者: xinqidian123     时间: 2010-12-10 11:35
不错。。。。。

作者: zaixinxiangnian     时间: 2010-12-10 13:50
如果有多行可以截取吗?

作者: zaixinxiangnian     时间: 2010-12-10 13:53
非常不错,,,但不知道可不可以像FOR那样截取一个文件的内容