批处理随机字符串
在for语句中变量为三个随机字符组成的字符串,do语句中对这个变量进行一定的操作:for%%iin(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r...
在for语句中变量为三个随机字符组成的字符串,do语句中对这个变量进行一定的操作:
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 (
... str%%i%%i%%i333 ...),这样子的吗,不熟悉批处理,不知道怎么弄
也谢谢“麦兜”~朋友哈,额,不过你的我倒还没看明白,呵呵~~~辛苦啦! 展开
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 (
... str%%i%%i%%i333 ...),这样子的吗,不熟悉批处理,不知道怎么弄
也谢谢“麦兜”~朋友哈,额,不过你的我倒还没看明白,呵呵~~~辛苦啦! 展开
2个回答
展开全部
rem 生成3个随机字符串
@echo off
set n=3
setlocal enabledelayedexpansion
set str=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
for /l %%a in (1,1,%n%) do call :slz "%%a"
echo %random_str%
pause
:slz
if "%~1"=="" goto:eof
set /a r=%random%%%62
set random_str=%random_str%!str:~%r%,1!
补充回答:
rem 生成3个随机字符串
@echo off
set n=3
rem n=3意思要生成3个随机字符串,如要10个修改n=10
setlocal enabledelayedexpansion
rem 开启变量延迟
set str=abcdefghijklmnopqrstuvwxyz0123456789
for /l %%a in (1,1,%n%) do call :slz "%%a"
rem for循环n次,因为每循环一次得到1个随机字符串,n次便是n个随机字符串
echo %random_str%
pause
:slz
if "%~1"=="" goto:eof
set /a r=%random%%%36
rem 生成小于36的随机数(26个字母加10个数字等于36很好理解的)
set random_str=%random_str%!str:~%r%,1!
rem 字符变量截取及合并,这个要有一定的批处理功底才能看懂,(百度或google关键词“理解字符截取功能”)
@echo off
set n=3
setlocal enabledelayedexpansion
set str=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
for /l %%a in (1,1,%n%) do call :slz "%%a"
echo %random_str%
pause
:slz
if "%~1"=="" goto:eof
set /a r=%random%%%62
set random_str=%random_str%!str:~%r%,1!
补充回答:
rem 生成3个随机字符串
@echo off
set n=3
rem n=3意思要生成3个随机字符串,如要10个修改n=10
setlocal enabledelayedexpansion
rem 开启变量延迟
set str=abcdefghijklmnopqrstuvwxyz0123456789
for /l %%a in (1,1,%n%) do call :slz "%%a"
rem for循环n次,因为每循环一次得到1个随机字符串,n次便是n个随机字符串
echo %random_str%
pause
:slz
if "%~1"=="" goto:eof
set /a r=%random%%%36
rem 生成小于36的随机数(26个字母加10个数字等于36很好理解的)
set random_str=%random_str%!str:~%r%,1!
rem 字符变量截取及合并,这个要有一定的批处理功底才能看懂,(百度或google关键词“理解字符截取功能”)
展开全部
@echo off&setlocal enabledelayedexpansion
:a
set a=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890
::字母+数字
set/a b=%random%%%62
set/a c+=1
for %%1 in (!b!)do set/p=!a:~%%1,1!<nul
::随机处理62个字符
if not !c! == 2048 goto a
::需要生成多少个字符,这里我写的是2048
pause
::这是我以前写的比较简单的
:a
set a=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890
::字母+数字
set/a b=%random%%%62
set/a c+=1
for %%1 in (!b!)do set/p=!a:~%%1,1!<nul
::随机处理62个字符
if not !c! == 2048 goto a
::需要生成多少个字符,这里我写的是2048
pause
::这是我以前写的比较简单的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询