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

基于15楼上进一步实现。
本例十次取随机对应星期。作为测试。核心代码可去循环
  1. @echo off
  2. REM 随机显示星期几
  3. set count=0
  4. :loop
  5. set "str=星期日星期一星期二星期三星期四星期五星期六"
  6. set /a num=%random% %%7
  7. REM echo %num%
  8. REM 根据每个星期的均分长度,倍数增长,记录变量指针的起始位置。
  9. set /a num*=3
  10. call,echo,%%str:~%num%,3%%
  11. set /a count+=1
  12. if not %count%==10 goto loop
  13. goto :eof
复制代码
我就是我,不一样的烟火!

TOP

回复 106# ai20110304


    应该是%random% %%6吧?
せそしぬいノろッボ

TOP

被楼上的先写了。
截取就这几个样子,再写了感觉太重复了。
默默的复习一下下

TOP

呵,wxcute兄指的是这个吧?
lhjoanna 发表于 2008-11-17 14:23



   弱弱的问:当余数为0时,str字符串带引号“,结果会不会异常呢?星期”

TOP

本帖最后由 wxf617 于 2022-10-20 11:44 编辑
  1. @echo off
  2. :SJ
  3. set /a str=%random% %% 7 +1
  4. echo 下周%STR%您将会有好运
  5. pause>nul
  6. goto sj
复制代码
上面是数字,下面是汉字
  1. @echo off && SETLOCAL ENABLEDELAYEDEXPANSION
  2. :XH
  3. set str=一二三四五六日
  4. set /a z=%random% %% 7
  5. set a=!str:~%z%,1!
  6. echo 下周%a%您将会有好运
  7. pause>nul
  8. goto XH
复制代码

TOP

@echo off
set /a var=%random% %% 7 +1
set "str=星期一 星期二 星期三 星期四 星期五 星期六 星期日"
for /f "tokens=%var%" %%i in ("%str%") do (
        echo %%i
)
pause>nul

TOP

@echo off
set var=周一周二周三周四周五周六周日
set /a num=%random% %% 7
set /a startIndex=%num% * 2
call echo %%var:~%startIndex%,2%%
pause

TOP

@echo off
set "var=周一 周二 周三 周四 周五 周六 周日"
:sc_start       
        set /a num=%random%%%7+1
        for /f "tokens=%num%" %%a in ("%var%") do echo %%a
goto :sc_start

TOP

返回列表