当前位置: 首页 > 图文教程 > 脚本技术 > DOS/BAT > 显示某两个字符及之间的字符

DOS/BAT
一个“灵异”批处理引发的思考加补充说明
批处理提取不同行上的内容的代码
windows 复制隐藏帐号完全批处理
使用regini.exe修改注册表命令
将bat文件注册为windows系统服务的方法
恶意软件\垃圾流氓通用反删除批处理文件
G8.3做的GHO G8.3不识别的问题的完美解决方案!
MD和RD命令的使用方法
DOS的启动过程详解分析
Msd、Undelete命令的使用方法
win32下的命令行集合
制作bat批处理和任意QQ号聊天!
用批处理实现将文件以数字重命名的代码
批处理之家发现的用批处理实现的系统类应用代码
纯脚本备份_还原驱动增强版附相关sleep.exe
批处理删除使用所有Windows Update功能的访问[图文+bat]
批处理 数码雨代码解释
按扩展名分类的批处理
批处理 网络配置信息查看器
获取文件更新列表 批处理

DOS/BAT 中的 显示某两个字符及之间的字符


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 104 ::
收藏到网摘: n/a

复制代码 代码如下:

::比如我输入 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