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

[其他] [已解决]生成不重复字符串的批处理为什么会出现错误?

为什么会出现aa:=的错误输出
请各位大大帮帮忙,瞄一眼
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set aa=abcdefghijklmnopqrstuvwxyz
  4. set r=26
  5. set tt=
  6. set/p tt=请输入您需要的几位不重复字母(最大不超过26位):
  7. :1
  8. set/a r-=1
  9. if !r! equ 10 (goto 2)
  10. set/a cc=!random!%%25+1
  11. set dd=!aa:~%cc%,1!
  12. set bb=!aa:%dd%=!
  13. set aa=!dd!!bb!
  14. set aaa=!aa:~0,%tt%!
  15. echo !aaa!>1.txt
  16. goto 1
  17. :2
  18. endlocal
  19. for /f "delims=" %%i in (1.txt) do echo 结果为:%%i
  20. pause>nul&del 1.txt
复制代码

[ 本帖最后由 leap 于 2010-10-2 16:34 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

想想当cc=26时会出现什么情况?

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. :d
  3. set ddr=%random:~-1,1%
  4. set zm=abcdefghigklmnopqrstuvwxyz
  5. for /l %%a in (0,1,9) do (
  6. if !ddr!==%%a echo !zm:~%%a,1!
  7. )
  8. ping /n 2 127.0.1>nul&goto d
复制代码

TOP

回复 2楼 的帖子

谢谢 2楼疏忽了!!!

TOP

返回列表