华域联盟 DOS/BAT 显示某两个字符及之间的字符

显示某两个字符及之间的字符

复制代码 代码如下:

::比如我输入 af 就显示

::a

::b

::c

::d

::e

::f

::每个字母占一行啊``不知能不能实现..

@echo off

::

::

:begin

cls

set str=a b c d e f g h i j k l m n o p q r s t u v w x y z

set input=

set /p input= 请输入字母范围(如af):

call set str=%%str:%input:~0,1%=-%input:~0,1%%%

call set str=%%str:%input:~-1%=%input:~-1%%%

for /f "tokens=2 delims=" %%i in ("%str%") do set str=%%i

for %%i in (%str%) do echo %%i

pause

goto begin

@echo off

::

::

set str=a b c d e f g h i j k l m n o p q r s t u v w x y z

:begin

cls

set flag=0

set var=

set input=

set /p input= 请输入字母范围(如af):

for %%i in (%str%) do call :pickup %%i

:end

pause

goto begin

:pickup

if /i "%1"=="%input:~0,1%" set flag=1

if /i "%1"=="%input:~-1%" set flag=2

if %flag% equ 1 echo %1

if %flag% equ 2 echo %1&goto end

goto :eof

@echo off

:: 先把字符串的每一个元素编码,然后再转换

::

::

setlocal enabledelayedexpansion

set str=a b c d e f g h i j k l m n o p q r s t u v w x y z

for %%i in (%str%) do set/a dec+=1 & set %%i=!dec! & set str!dec!=%%i

set en=

set /p en=请输入字母范围(如af):

set/a num1=!%en:~0,1%!,num2=!%en:~-1%!

for /l %%i in (%num1%,1,%num2%) do echo !str%%i!

pause>nul

goto :eof

@echo off

:: 通过比较字符内部编码的大小来实现,局限性很大

::

::

setlocal enabledelayedexpansion

set str=a b c d e f g h i j k l m n o p q r s t u v w x y z

set en=

set /p en=请输入字母范围(如af):

set str1=%en:~0,1%

set str2=%en:~-1%

for %%i in (%str%) do if %%i geq !str1! if %%i leq !str2! echo %%i

pause>nul

goto :eof

@echo off

:: 缺点:速度比较慢

::

::

:begin

set /p a="老规矩 嘻嘻 :"

set str=a b c d e f g h i j k l m n o p q r s t u v w x y z

for %%i in (%str%) do echo %%i|findstr [%a:~0,1%-%a:~-1%]
pause

goto begin

本文由 华域联盟 原创撰写:华域联盟 » 显示某两个字符及之间的字符

转载请保留出处和原文链接:https://www.cnhackhy.com/16330.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部