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

[ 新手练习 5 ] 批处理随机显示星期几

[复制链接]
发表于 2019-12-22 21:22:54 | 显示全部楼层
本帖最后由 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
复制代码
发表于 2020-2-2 12:48:45 | 显示全部楼层
回复 106# ai20110304


    应该是%random% %%6吧?
发表于 2022-6-17 17:24:52 | 显示全部楼层
被楼上的先写了。
截取就这几个样子,再写了感觉太重复了。
默默的复习一下下
发表于 2022-6-17 17:46:38 | 显示全部楼层
呵,wxcute兄指的是这个吧?
lhjoanna 发表于 2008-11-17 14:23



   弱弱的问:当余数为0时,str字符串带引号“,结果会不会异常呢?星期”
发表于 2022-10-20 10:59:23 | 显示全部楼层
本帖最后由 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
复制代码
发表于 2022-10-23 07:00:39 | 显示全部楼层
@echo off
set /a var=%random% %% 7 +1
set "str=星期一 星期二 星期三 星期四 星期五 星期六 星期日"
for /f "tokens=%var%" %%i in ("%str%") do (
        echo %%i
)
pause>nul
发表于 2023-4-24 17:22:42 | 显示全部楼层
@echo off
set var=周一周二周三周四周五周六周日
set /a num=%random% %% 7
set /a startIndex=%num% * 2
call echo %%var:~%startIndex%,2%%
pause
发表于 2024-9-27 10:29:57 | 显示全部楼层
@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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 01:39 , Processed in 0.018764 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表