找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18545|回复: 2

[文本处理] [已解决]讨一个可以生成随机字符串的BAT代码

[复制链接]
发表于 2023-6-24 10:21:29 | 显示全部楼层 |阅读模式
随机生成一条6到16位的无序字符串;
字符串包含大写字母和数字;
输出可以是纯字母、纯数字或组合;
组合时不规定是否是字母或数字开头。

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2023-6-24 12:47:26 | 显示全部楼层
描述不太严谨,看看是这样否:
  1. @echo off
  2. set var=0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
  3. setlocal enabledelayedexpansion
  4. for /l %%i in (6,1,16) do set _!random!=%%i
  5. for /f "tokens=2 delims==" %%i in ('set _') do set n=%%i
  6. for /l %%i in (1,1,%n%) do (
  7.     set /a m=!random!%%62
  8.     for %%j in (!m!) do set str=!str!!var:~%%j,1!
  9. )
  10. echo,%str%
  11. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
lonron + 1 感谢帮助

查看全部评分

发表于 2023-6-24 14:53:12 | 显示全部楼层
如果要求字符不重复(区分大小写):
  1. @echo off
  2. set var=0 1 2 3 4 5 6 7 8 9 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 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. setlocal enabledelayedexpansion
  4. for %%i in (%var%) do (
  5.     set /a n+=1
  6.     set #!random!-!n!=%%i
  7. )
  8. for /l %%i in (6,1,16) do set _!random!=%%i
  9. for /f "tokens=2 delims==" %%i in ('set _') do set m=%%i
  10. set /a m=62-m
  11. for /f "skip=%m% tokens=2 delims==" %%i in ('set #') do set str=!str!%%i
  12. echo,%str%
  13. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 18:22 , Processed in 0.028155 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表