标题: [文本处理] [已解决]讨一个可以生成随机字符串的BAT代码 [打印本页]
作者: lonron 时间: 2023-6-24 10:21 标题: [已解决]讨一个可以生成随机字符串的BAT代码
随机生成一条6到16位的无序字符串;
字符串包含大写字母和数字;
输出可以是纯字母、纯数字或组合;
组合时不规定是否是字母或数字开头。
作者: qixiaobin0715 时间: 2023-6-24 12:47
描述不太严谨,看看是这样否:- @echo off
- set var=0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
- setlocal enabledelayedexpansion
- for /l %%i in (6,1,16) do set _!random!=%%i
- for /f "tokens=2 delims==" %%i in ('set _') do set n=%%i
- for /l %%i in (1,1,%n%) do (
- set /a m=!random!%%62
- for %%j in (!m!) do set str=!str!!var:~%%j,1!
- )
- echo,%str%
- pause
复制代码
作者: qixiaobin0715 时间: 2023-6-24 14:53
如果要求字符不重复(区分大小写):- @echo off
- 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
- setlocal enabledelayedexpansion
- for %%i in (%var%) do (
- set /a n+=1
- set #!random!-!n!=%%i
- )
- for /l %%i in (6,1,16) do set _!random!=%%i
- for /f "tokens=2 delims==" %%i in ('set _') do set m=%%i
- set /a m=62-m
- for /f "skip=%m% tokens=2 delims==" %%i in ('set #') do set str=!str!%%i
- echo,%str%
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |