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

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

[复制链接]
发表于 2014-3-14 13:15:19 | 显示全部楼层
@echo off
set /a t=%random% %% 7
if %t%==0 echo 周一 
if %t%==1 echo 周二 
if %t%==2 echo 周三 
if %t%==3 echo 周四 
if %t%==4 echo 周五 
if %t%==5 echo 周六 
if %t%==6 echo 周日
pause
发表于 2014-4-18 19:49:18 | 显示全部楼层
  1. @echo off

  2. set "code=周一 周二 周三 周四 周五 周六 周日"

  3. :loop
  4. set /a rdm=%random%%%7+1

  5. for /f "tokens=%rdm% delims= " %%i in ("%code%") do (
  6.         echo %%i       
  7. )

  8. pause>nul

  9. goto :loop
复制代码
发表于 2014-4-18 19:49:44 | 显示全部楼层
  1. @echo off

  2. set "code=周一 周二 周三 周四 周五 周六 周日"

  3. :loop
  4. set /a rdm=%random%%%7+1

  5. set /a rdm1=rdm*3
  6. call echo %%code:~%rdm1%,2%%

  7. pause>nul

  8. goto :loop
复制代码
发表于 2014-11-9 16:35:01 | 显示全部楼层
  1. @echo off
  2. setlocal
  3. set a1=一 & set a2=二 & set a3=三
  4. set a4=四 & set a5=五 & set a6=六 & set a7=日
  5. set /a b=%random%%%7+1
  6. call echo 星期%%a%b%%%
  7. endlocal
  8. pause
复制代码
发表于 2014-12-27 12:18:08 | 显示全部楼层
@echo off
set "week=周一 周二 周三 周四  周五 周六 周日"
call :w %week%
:w
for /f "delims=" %%i in ('set /a %random%%%8') do (
    if %%i neq 0 call echo,%%%%i&pause>nul
)
goto :w
这个。也可以使用goto :label and :loop 来代替for循环。
发表于 2015-5-7 22:43:53 | 显示全部楼层
懂了点!!@!!
发表于 2016-4-24 16:56:46 | 显示全部楼层
@echo off
set /a n=%random% %%7 +1
if %n%==1 echo 周一
if %n%==2 echo 周二
if %n%==3 echo 周三
if %n%==4 echo 周四
if %n%==5 echo 周五
if %n%==6 echo 周六
if %n%==7 echo 周日
pause
发表于 2017-2-28 09:52:43 | 显示全部楼层

  1. @echo off
  2. :loop
  3. set /a day=%random%%%7+1
  4. for /f "tokens=%day% delims= " %%a in ("一 二 三 四 五 六 日") do echo;        星期%%a&pause>nul&goto loop
复制代码

评分

参与人数 1技术 +1 收起 理由
impk + 1 非常精简的代码

查看全部评分

发表于 2018-5-15 16:04:30 | 显示全部楼层
::一周有七天
::周一 周二 周三 周四 周五 周六 周日
::利用随机数随机显示一天,开始可以用阿拉伯数字,但最终显示时要用汉字 ^_^
@echo off
set /a n=%random% %% 7
if %n%==0 echo 星期一
if %n%==1 echo 星期二
if %n%==2 echo 星期三
if %n%==3 echo 星期四
if %n%==4 echo 星期五
if %n%==5 echo 星期六
if %n%==6 echo 星期七
pause>nul
%0
::按一下变一个
发表于 2018-5-16 07:24:40 | 显示全部楼层
本帖最后由 tigerpower 于 2018-5-16 07:27 编辑
  1. powershell -c "$lc=[Globalization.CultureInfo]'zh-CN';(Get-Date).AddDays((random 7)).ToString('dddd',$lc)"
复制代码
试试将zh-CN替换为en-US或ja-JP
发表于 2018-7-22 16:26:08 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set var=%random%
  4. set /a randomnum=!var! %% 7
  5. echo !randomnum!
  6. if !randomnum! EQU 0 (
  7.         echo 星期日
  8.         goto END
  9. )
  10. if !randomnum! EQU 1 (
  11.         echo 星期一
  12.         goto END
  13. )
  14. if !randomnum! EQU 2 (
  15.         echo 星期二
  16.         goto END
  17. )
  18. if !randomnum! EQU 3 (
  19.         echo 星期三
  20.         goto END
  21. )
  22. if !randomnum! EQU 4 (
  23.         echo 星期四
  24.         goto END
  25. )
  26. if !randomnum! EQU 5 (
  27.         echo 星期五
  28.         goto END
  29. )
  30. if !randomnum! EQU 6 (
  31.         echo 星期六
  32.         goto END
  33. )

  34. :END

复制代码
发表于 2019-8-16 13:03:54 | 显示全部楼层
本帖最后由 impk 于 2019-8-16 13:09 编辑
  1. @echo off
  2. set /a day=%random% %% 7 + 1
  3. for /f "tokens=%day% delims= " %%i in ( "日 一 二 三 四 五 六" ) do echo 星期%%i
复制代码
发表于 2019-8-17 21:36:48 | 显示全部楼层
回复 24# XBATI


    %random%是随机变量,可以是任意数字
发表于 2019-8-17 21:43:13 | 显示全部楼层
回复 15# lhjoanna


    call 的这一句要怎么理解,能说说吗?
发表于 2019-12-22 21:06:54 | 显示全部楼层
回复 15# lhjoanna


    还是这个方法最简洁
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 02:53 , Processed in 0.012809 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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