Board logo

标题: [数值计算] [已解决]批处理怎么生成所有3位的小写字母组合?谢谢 [打印本页]

作者: lantern    时间: 2014-9-16 23:27     标题: [已解决]批处理怎么生成所有3位的小写字母组合?谢谢

本帖最后由 lantern 于 2015-1-18 15:46 编辑

批处理怎么生成所有3位的小写字母组合?谢谢
作者: 再世情緣    时间: 2014-9-17 00:09

  1. @echo off &color 0a &setlocal enabledelayedexpansion
  2. set "code=abcdefghijklmnopqrstuvwxyz"
  3. for /l %%a in (1,1,3) do (
  4.   set /a "i=!random!%%26"
  5.   call :random
  6. )
  7. echo.!str!
  8. pause.
  9. call exit
  10. :random
  11. set "str=!str!!code:~%i%,1!"
  12. goto :eof
复制代码

作者: CrLf    时间: 2014-9-17 05:20

一种思路:
  1. @echo off&setlocal enabledelayedexpansion
  2. set "code=abcdefghijklmnopqrstuvwxyz"
  3. set /a max=25*25*25
  4. for /l %%a in (0 1 %max%) do (
  5.    set /a "n1=%%a / 625,n2=%%a / 25 %% 25,n3=%%a %% 25"
  6.    for /f "tokens=1-3" %%b in ("!n1! !n2! !n3!") do echo !code:~%%b,1!!code:~%%c,1!!code:~%%d,1!
  7. )
  8. pause
复制代码

作者: lantern    时间: 2014-9-17 11:51

回复 2# 再世情緣
输出结果只有一组?
作者: lantern    时间: 2014-9-17 11:51

本帖最后由 lantern 于 2014-9-17 12:02 编辑
一种思路:
CrLf 发表于 2014-9-17 05:20

有效,谢谢
25是不是应该是26啊?改成26以后,最后一组输出了aa,不知道哪里的问题
  1. @echo off&setlocal enabledelayedexpansion
  2. set "code=abcdefghijklmnopqrstuvwxyz"
  3. set /a max=26*26*26
  4. for /l %%a in (0 1 %max%) do (
  5.    set /a "n1=%%a / 676,n2=%%a / 26 %% 26,n3=%%a %% 26"
  6.    for /f "tokens=1-3" %%b in ("!n1! !n2! !n3!") do echo !code:~%%b,1!!code:~%%c,1!!code:~%%d,1! >>a.txt
  7. )
  8. pause
复制代码

作者: xxpinqz    时间: 2014-9-17 13:41

偏移是从0开始算的,不是1,所以是25
作者: lantern    时间: 2014-9-17 14:18

回复 6# xxpinqz
25的话输出结果是15625条,但是3位小写字母组合是17576条啊
作者: xxpinqz    时间: 2014-9-17 15:10

回复 7# lantern
  1. set /a max=26*26*26-1
复制代码

作者: xxpinqz    时间: 2014-9-17 15:13

本帖最后由 xxpinqz 于 2014-9-17 15:14 编辑

最土的办法:
  1. @echo off
  2. set "#=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"
  3. (for %%a in (%#%)do for %%b in (%#%)do for %%c in (%#%)do echo,%%a%%b%%c)>1.txt
复制代码

作者: lantern    时间: 2014-9-17 15:21

回复 9# xxpinqz
感谢
作者: 再世情緣    时间: 2014-9-18 19:12

回复 4# lantern


    额。。。理解错了,看成是随机3个小写字母的组合了。。。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2