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

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

[复制链接]
发表于 2009-2-14 16:47:08 | 显示全部楼层
原帖由 lhjoanna 于 2008-11-17 14:23 发表
呵,wxcute兄指的是这个吧?@echo off
set "str=一二三四五六日"
set /a num=%random%%%7
call echo 星期%%str:~%num%,1%%
pause>nul

学习了,谢谢。。。。。。。。。。。。。。。。
发表于 2009-2-14 22:10:31 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /a bb=%random%%%7
  4. if %bb%==0 (echo 星期天) else (
  5.    if %bb%==1 (echo 星期一) else (
  6.        if %bb%==2 (echo 星期二) else (
  7.            if %bb%==3 (echo 星期三) else (
  8.                 if %bb%==4 (echo 星期四) else (
  9.                     if %bb%==5 (echo 星期五) else  (echo 星期六))))))
  10.                         
  11. pause>nul
复制代码

评分

参与人数 1PB +1 收起 理由
wxcute + 1 原始方法。

查看全部评分

发表于 2009-3-28 10:23:43 | 显示全部楼层
自己琢磨的。

  1. @echo off
  2. set /a a=%random%%%7
  3. set "day=日一二三四五六"
  4. call, echo 周%%day:~%a%,1%%
  5. pause>nul
复制代码

评分

参与人数 1PB +5 收起 理由
youxi01 + 5 不错

查看全部评分

发表于 2009-3-28 13:13:01 | 显示全部楼层
  1. @echo off
  2. set /a weekday=%random%%%7
  3. set str=日一二三四五六
  4. setlocal enabledelayedexpansion
  5. echo 星期!str:~%weekday%,1!
  6. endlocal
  7. pause
复制代码

评分

参与人数 1PB +1 收起 理由
wxcute + 1 可以哦。

查看全部评分

发表于 2009-3-28 15:01:32 | 显示全部楼层
  1. @echo off
  2. set /a n=%random%%%7+1
  3. for /f "tokens=%n% delims= " %%i in ("日 一 二 三 四 五 六") do (echo 周%%i)
  4. pause
复制代码

评分

参与人数 1PB +1 收起 理由
wxcute + 1 不错,FOR的方法。

查看全部评分

发表于 2009-3-28 15:11:53 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :start
  4. cls
  5. set m=0
  6. for %%i in (周一 周二 周三 周四 周五 周六 周日) do (
  7. set /a m+=1
  8. set !m!=%%i
  9. )
  10. set /a n=%random%%%7+1
  11. echo !%n%!
  12. pause
  13. goto start
复制代码

评分

参与人数 1PB +2 收起 理由
wxcute + 2 加了循环多次显示。FOR法。

查看全部评分

发表于 2009-3-29 12:09:40 | 显示全部楼层

  1. @echo off
  2. set t="周一 周二 周三 周四 周五 周六 周日"
  3. set /a s=%random% %%7+1
  4. for /f "tokens=%s%" %%a in (%t%) do echo %%a
  5. pause
复制代码

[ 本帖最后由 5810239q 于 2009-3-29 12:12 编辑 ]

评分

参与人数 1PB +1 收起 理由
wxcute + 1 FOR法。

查看全部评分

发表于 2009-4-9 20:45:41 | 显示全部楼层
  1. @echo off
  2. :m
  3. set a=%random%
  4. set b=%a:~0,1%
  5. if %b% gtr 7 goto m
  6. if %b% equ 7 echo 周日
  7. if %b% equ 1 echo 周一
  8. if %b% equ 2 echo 周二
  9. if %b% equ 3 echo 周三
  10. if %b% equ 4 echo 周四
  11. if %b% equ 5 echo 周五
  12. if %b% equ 6 echo 周六
  13. ping -n 2 127.1>nul
  14. exit
复制代码

评分

参与人数 1PB +2 收起 理由
wxcute + 2 随机性很差,不过思路值得鼓励

查看全部评分

发表于 2009-5-7 00:00:43 | 显示全部楼层
本想套用skuny兄的一段代码,谁知他已经早写好了!!
  1. @echo off&setlocal enabledelayedexpansion
  2. call :11 一 二 三 四 五 六 日
  3. pause>nul&goto :eof
  4. :11
  5. set/a a=%random% %% 7 +1
  6. call echo 星期%%!a!
复制代码
发表于 2009-5-10 12:14:32 | 显示全部楼层
  1. @echo off && setlocal enabledelayedexpansion
  2. set /a num=%random:~-1,1%
  3. set "str=天一二三四五六"
  4. if %num% gtr 6 (echo 今天是星期天) else call echo 今天是星期%%str:~!num!,1%%
  5. pause >nul
复制代码
只能根据随机数的最后一位进行判断。。
星期天会比较多。。
还是喜欢星期天啊 ^_^

[ 本帖最后由 aoelus 于 2009-5-10 13:02 编辑 ]

评分

参与人数 1PB +2 收起 理由
wxcute + 2 够厉害。“画饼充饥” 的饼毕竟不是真的哦。 ...

查看全部评分

发表于 2009-11-12 10:16:04 | 显示全部楼层
  1. @echo off
  2. set dayset="周一,周二,周三,周四,周五,周六,周日"
  3. set /a day=%random% %%7+1
  4. for /f "delims=, tokens=%day%" %%i in (%dayset%) do (
  5.       echo %%i
  6.       )
  7. pause>nul
  8. %0
复制代码

评分

参与人数 1PB +1 收起 理由
wxcute + 1 很好。

查看全部评分

发表于 2009-11-12 10:35:09 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set dayset=一二三四五六日
  4. set /a day=%random% %%7
  5. echo 周!dayset:~%day%,1!
  6. pause>nul
  7. %0
复制代码

评分

参与人数 1PB +2 收起 理由
wxcute + 2 不错。

查看全部评分

发表于 2009-11-12 13:34:43 | 显示全部楼层
都被写完了...
  1. @echo off
  2. set/as=%random%%%7
  3. set s=周%s:0=一%
  4. set s=%s:1=二%
  5. set s=%s:2=三%
  6. set s=%s:3=四%
  7. set s=%s:4=五%
  8. set s=%s:5=六%
  9. echo %s:6=日%
复制代码

评分

参与人数 1PB +2 收起 理由
wxcute + 2 变量替换法,你够绝的。

查看全部评分

发表于 2009-11-12 15:31:25 | 显示全部楼层
原帖由 lhjoanna 于 2008-11-17 14:23 发表
呵,wxcute兄指的是这个吧?@echo off
set "str=一二三四五六日"
set /a num=%random%%%7
call echo 星期%%str:~%num%,1%%
pause>nul


比如这里num等于2  会显示星期三,这应该不是想要的结果吧???
发表于 2009-11-15 14:28:31 | 显示全部楼层
..........................
@echo off
set "day=日一二三四五六"
set /a nub=%random%%%7
call echo 星期%%day:~%nub%,1%%
pause>nul



...哎~思路和楼上重覆了,几乎一模一樣... ...

[ 本帖最后由 Taurus 于 2009-11-15 14:31 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-16 20:42 , Processed in 0.026955 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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