[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 能否在for /L语句中像数字一样,按序列列出字母呢。

在for 语句里。
能不能像for /l %%a in (1,1,5) .... 一样的列出字母序列呢。。
  也就是说。。
     给序一个首字母f。按照递增的顺序输出字母,fghijklmno...

直接列出是做不到的,但可以变通下了:
  1. @echo off&setlocal enabledelayedexpansion
  2. for %%i in (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) do set /a n+=1&set "_!n!=%%i"
  3. for /l %%i in (10,1,26) do echo !_%%i!
  4. pause>nul
复制代码
***共同提高***

TOP

嗯。谢啦~~
嘿嘿。。又学到了新知识啦。

TOP

  1. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@echo off
  2. setlocal enabledelayedexpansion
  3. set "letters=ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4. set /p first=请给出首字母:
  5. for /l %%a in (0 1 25) do (
  6.     if not defined flag (if /i "!letters:~%%a,1!"=="%first%" set flag=1&set /p=!letters:~%%a,1! <nul) else set /p=!letters:~%%a,1! <nul
  7. )
  8. echo.&pause
复制代码
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

原帖由 zqz0012005 于 2008-10-26 00:16 发表
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@echo off
setlocal enabledelayedexpansion
set "letters=ABCDEFGHIJKLMNOPQRSTUVWXYZ"
set /p first=请给出首字母:
for /l %%a in (0 1 25) do (
    if not defined flag ...


哇噻。
这个好。
     呵呵。。

TOP

  1. @echo off
  2. set /p f=请给出首字母:
  3. for /f "tokens=1* delims=%f%" %%i in (" 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 ") do set "str=%f%%%j"
  4. echo %str: =%
  5. echo.&pause
复制代码
1

评分人数

TOP

  1. @echo off
  2. set /p first=请给出首字母:
  3. set letters=abcdefghijklmnopqrstuvwxyz
  4. call echo %%letters:*%first%=%%
  5. pause
复制代码
1

评分人数

TOP

返回列表