受老大们的启发,写了个截取字符练习的P,代码如下,虽然不怎么样,但给新手们练习还是可以的,以求共同提高嘛!同时也请各位老大不吝赐教。复制以下代码保存为*.bat,双击运行即可。
@echo off&color 9f&mode con cols=90 lines=15&setlocal EnableDelayedExpansion
:begin
set tu=★★★★★★★★★★★★★★★■■■■■■■■■■■■■■■
cls&echo.&echo 原始图案为:%tu%
echo.&echo 注意前面有15个五角星后面有15个方块,等下记得数一下哦!
echo.&echo 为了方便重复练习没有设置退出,要退出请直接关闭窗口。&ping -n 4 127.1 >nul
:choice
cls&echo.&set /p select=请选择(默认回车为1)? (1.从前往后截取 2.从后向前截取)
if "%select%"=="" goto choice1
if "%select%"=="1" goto choice1
if "%select%"=="2" goto choice3
if not "%select%"=="1" goto p
if not "%select%"=="2" goto p
:choice1
cls&echo.&set /p var1=请输入从前面第几位开始截取(请输入0~29内的数字,默认回车为1):
if "%var1%"=="" set var1=1
if %var1% gtr 29 goto p1
:choice2
cls&echo.&set /p var2=请输入往后截取几位(请输入1~30内的数字,默认回车为1):
if "%var2%"=="" set var2=1
if %var2% gtr 30 goto p2
if %var2% lss 1 goto p2
cls&echo.&echo 从第%var1%位向后截取%var2%位后的图案为:
echo.&echo !tu:~%var1%,%var2%!&pause
goto begin
:choice3
cls&echo.&set /p var1=请输入丢弃后面几位(请输入0~29内的数字,默认回车为1):
if "%var1%"=="" set var1=1
if %var1% gtr 29 goto p3
:choice4
cls&echo.&set /p var2=请输入从后向前截取几位(请输入1~30内并大于前面输入的数字,默认回车为30):
if "%var2%"=="" set var2=30
if %var2% leq %var1% goto p4
if %var2% gtr 30 goto p4
if %var2% lss 1 goto p4
cls&echo.&echo 从后面向前截取%var2%位并丢弃后面%var1%位后的图案为:
echo.&echo !tu:~-%var2%,-%var1%!&pause
goto begin
:p
cls&echo.&echo 数字输入无效,请重新输入!&ping -n 2 127.1 >nul&cls&goto choice
:p1
cls&echo.&echo 数字输入无效,请重新输入!&ping -n 2 127.1 >nul&cls&goto choice1
:p2
cls&echo.&echo 数字输入无效,请重新输入!&ping -n 2 127.1 >nul&cls&goto choice2
:p3
cls&echo.&echo 数字输入无效,请重新输入!&ping -n 2 127.1 >nul&cls&goto choice3
:p4
cls&echo.&echo 数字输入无效,请重新输入!&ping -n 2 127.1 >nul&cls&goto choice4
[ Last edited by zw19750516 on 2008-3-8 at 11:18 PM ]
