[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 【已解决】这个取随机数的批处理为什么不对?

本帖最后由 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 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
复制代码
1

评分人数

TOP

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



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

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


厉害
谢谢

TOP

返回列表