Board logo

标题: [其他] 【已解决】这个取随机数的批处理为什么不对? [打印本页]

作者: chouxia    时间: 2015-5-8 13:32     标题: 【已解决】这个取随机数的批处理为什么不对?

本帖最后由 chouxia 于 2015-5-8 16:20 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p wei=你要几位的随机数:
  4. set /p num=你要多少随机数:
  5. echo 注意,重名文件会被删除!
  6. set /p ppath=TXT文件存放绝对路径和文件名:
  7. set name=
  8. if exist %ppath% del %ppath%
  9. for /l %%a in (1,1,%wei%) do (set name=%RANDOM%!name!)
  10. for /l %%a in (1,1,%num%) do (echo !name:~-%wei%!>>%ppath%)
  11. timeout /t 2
  12. echo 完成!
复制代码
为什么不对呢
作者: pcl_test    时间: 2015-5-8 14:53

本帖最后由 pcl_test 于 2015-5-8 17:58 编辑
  1. @echo off & setlocal enabledelayedexpansion
  2. set /p wei=你要几位的随机数:
  3. set /p num=你要多少个随机数:
  4. set /p file=TXT文件存放的绝对路径和文件名(同名文件会被覆盖):
  5. (for /l %%a in (1,1,%num%) do (
  6. set s=
  7. for /l %%a in (1,1,%wei%) do set "s=!s!!random:~-1!"
  8. echo;!s!
  9. ))>"%file%"
  10. echo 完成!
  11. timeout /t 2
复制代码

作者: chouxia    时间: 2015-5-8 16:19

pcl_test 发表于 2015-5-8 14:53



    !random:~-1!为什么要用这个?
~-1应该是显示最后一位吧。每一个random取一位数

也就是说随机数根据位数变化,每个random只取一位数。最后合成的就是我需要的随机位数?


厉害
谢谢




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