列出两个字母(从a到z)

时间:2014-11-07 19:16:52

标签: batch-file cmd

我正在尝试制作列表功能。如果用户输入字母'a',它将列出%MINDEX%内的'a'开头的任何内容。

for /f "tokens=1-3 delims=[]()" %%a in ('findstr /i /r /b /c:"!LST-GLN[1]!" %MINDEX%') do (
  set /a SIRA+=1
  set FISIM[!SIRA!]=%%a
  set FYIL[!SIRA!]=%%b
  set FIDD[!SIRA!]=%%c
)

for /l %%i in (1,1,!SIRA!) do call :_Yazdir "%%i" "!FISIM[%%i]!" "!FYIL[%%i]!" "!FIDD[%%i]!" "!SATIRRENGI!"

假设我们有第二个变量(!LST-GLN[2]!)我如何在这些变量之间列出? 我的意思是从!LST-GLN[1]!!LST-GLN[2]!,例如fi类似的事情;

for /l %%a in (f,1,i) do ..

有可能吗?如果是这样我们怎么办?

PS.1案例敏感性并不重要。

PS.2如果我们可以将0-9添加到字母表中(在'a'之前),这将是很好但是也不重要。

EG。 %MINDEX%

asd(1234)[12345]
bsd(1234)[12345]
bse(1234)[12345]
csd(1234)[12345]
.
.
.

1 个答案:

答案 0 :(得分:0)

此方法处理所需字母的子范围。只需调整它以满足您的需求:

@echo off
setlocal EnableDelayedExpansion

set letters=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 start=f
set end=i

set "temp=!letters:*%start%=%start%!"
for /F "delims=$" %%a in ("!temp:%end%=%end%$!") do for %%b in (%%a) do echo %%b