Board logo

标题: [其他] 批处理如何随机获取8位的字符串? [打印本页]

作者: qingshancun    时间: 2013-5-5 21:15     标题: 批处理如何随机获取8位的字符串?

定义26个字母的变量  如何随机获取他们? 8位…
如ssdgjgdv  nvggdjfv  aaaaaaaa
可以重复 …
作者: sxw    时间: 2013-5-5 21:45

  1. @rem = '
  2. @echo off
  3. color d
  4. mode con cols=125 lines=25
  5. echo.&echo.&echo.&echo.
  6. C:\strawberry\perl\bin\perl.exe -S a.bat
  7. ping 127.0.0.1 >nul
  8. goto end_perl
  9. :end_perl
  10. exit
  11. @rem ';
  12. @a=(a..z,A..Z);
  13. @result=@a[map {int(rand(26))} 1..8];
  14. print "@result\n";
复制代码

作者: Demon    时间: 2013-5-5 22:04

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set #=abcdefghijklmnopqrstuvwxyz
  4. for /l %%i in (1 1 8) do (
  5.     set /a _ = !random! %% 26
  6.     for %%_ in (!_!) do set $=!$!!#:~%%_,1!
  7. )
  8. echo %$%
  9. pause
复制代码

作者: qingshancun    时间: 2013-5-6 22:04

楼上两位大神的… 貌似都不可以,求解答!
作者: qingshancun    时间: 2013-5-6 22:08

回复 2# sxw


    运行结果:a不是内部或者外部命令,也不知可运行的程序或批处理文件
                      result 也是同上的问题
                 无法初始化设备 PRN
问题出在那里?求解答…   谢谢
作者: qingshancun    时间: 2013-5-6 22:13

Demon 发表于 2013-5-5 22:04



    运行结果:运行符不存在…  最后直接显示!$!!#:~!_!,1!
问题出在那里了?求解答…
作者: Demon    时间: 2013-5-6 23:02

运行结果:运行符不存在…  最后直接显示!$!!#:~!_!,1!
问题出在那里了?求解答…
qingshancun 发表于 2013-5-6 22:13


你的是什么系统?
作者: sxw    时间: 2013-5-6 23:13

回复 5# qingshancun


    需要装perl.exe
作者: qingshancun    时间: 2013-5-6 23:31

回复 7# Demon


    还和系统有关系么?  win7
作者: qingshancun    时间: 2013-5-6 23:32

回复 8# sxw


    还要安装那个啊…   不是纯bat么?
作者: sxw    时间: 2013-5-6 23:36

回复 10# qingshancun


    我这个不纯。下载个草莓perl就好了http://strawberry-perl.googlecod ... -5.16.3.1-32bit.msi
作者: qingshancun    时间: 2013-5-6 23:37

回复 8# sxw


    不是纯bat么?
作者: sxw    时间: 2013-5-6 23:41

回复 12# qingshancun


    这个需要第三方工具Perl.exe,如果你不着急,可以有别人解决了。。。。。
作者: qingshancun    时间: 2013-5-9 11:23

回复 7# Demon


    在么???    请问是什么问题啊 ?
作者: batman    时间: 2013-5-9 16:50

三楼的代码应该是没有问题的,不知道楼主系统是不是精简版的?
作者: keshun    时间: 2013-5-10 02:29

本帖最后由 keshun 于 2013-5-10 03:01 编辑

借用3楼代码修改成,每次生成20组,生成次数可修改,把21换成你想要的数
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :1
  4. set $=
  5. set #=abcdefghijklmnopqrstuvwxyz
  6. for /l %%i in (1 1 8) do (
  7.     set /a _ = !random! %% 26
  8.     for %%_ in (!_!) do set $=!$!!#:~%%_,1!
  9. )
  10. echo %$%>>1.txt
  11. set/a a+=1
  12. if %a% lss 21 goto 1
复制代码

作者: qingshancun    时间: 2013-5-11 15:21

回复 15# batman


    不太清楚  是ghost的




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