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

这句帮我分析下呀我都不知道:

set /a num=%random%%%7 这句请从各个角度帮我分析下

TOP

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


看了高手的答案,只能默默地努力了

TOP

  1. @echo off
  2. :main
  3. set "str=一二三四五六日"
  4. set /a num=%random%%%7
  5. call echo 星期: %%str:~%num%,1%%
  6. ping -n 2 127.1>nul 2>nul
  7. goto :main
复制代码
不好意思,纯粹是修改以上兄弟的(惭愧,正在学习中..)。只是为了让它自动化点。哈哈
1

评分人数

TOP

  1. @echo off
  2. set /a i=%random% %% 7+1
  3. if %i%==1 echo 星期一
  4. if %i%==2 echo 星期二
  5. if %i%==3 echo 星期三
  6. if %i%==4 echo 星期四
  7. if %i%==5 echo 星期五
  8. if %i%==6 echo 星期六
  9. if %i%==7 echo 星期日
  10. ping 127.1 -n 1 >nul
  11. pause>nul
复制代码
1

评分人数

    • wxcute: 方法很原始,但值得鼓励PB + 2

TOP

  1. @echo off
  2. set a=一二三四五六日
  3. set /a num=%random%%%7
  4. set /p =星期<nul
  5. call set /p =%%a:~%num%,1%%<nul
  6. pause>nul
复制代码
1

评分人数

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "str=日一二三四五六"
  4. set /a pp=%random%%%7
  5. echo  星期!str:~%pp%,1!
  6. pause>nul
复制代码
1

评分人数

    • wxcute: 很好哦,给你加分PB + 6

TOP

原帖由 hlzj88 于 2008-11-18 05:17 发表

不明白这里的call具体的意义,延时吗,用ping又出不了效果,请教说明或相关知识点


貌似搜索一下变量延迟应该有结果。

TOP

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

不明白这里的call具体的意义,延时吗,用ping又出不了效果,请教说明或相关知识点
目的,学习批处理

TOP

其实是我想得太复杂。。。
方法跟15L的一样。。。

TOP

呵,wxcute兄指的是这个吧?
  1. @echo off
  2. set "str=一二三四五六日"
  3. set /a num=%random%%%7
  4. call echo 星期%%str:~%num%,1%%
  5. pause>nul
复制代码
2

评分人数

    • wxcute: 我也要加,虽然有管理员给你加分PB + 8
    • batman: 恩,小子不错,掌握了random了PB + 8

TOP

回复 13楼 的帖子

%random%%%12+1

%random%%%14
就好了。

一周可是有 7 天阿,12 / 2 怎么也只有 6 天阿!

还可再简化。

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. :main
  3. set "code=周一周二周三周四周五周六周日"&set /a strRan=%random%%%12+1&set /a strRan2=!strRan!%%2
  4. if "!strRan2!" equ "0" (set strPrint=!code:~-%strRan%,2!&echo. !strPrint!&pause&goto :main ) else (goto :main)
复制代码
貌似不显示周一?
1

评分人数

    • wxcute: 看来对随机数认识还是不够阿PB + 4

TOP

  1. @echo off
  2. set /a n=%random% %% 7
  3. if %n%==0 echo 今天是星期一
  4. if %n%==1  echo 今天是星期二
  5. if %n%==2 echo 今天是星期三
  6. if %n%==3 echo 今天是星期四
  7. if %n%==4 echo 今天是星期五
  8. if %n%==5 echo 今天是星期六
  9. if %n%==6 echo 今天是星期天
  10. ping -n 2 127.1>nul>nul
  11. %0
复制代码
1

评分人数

TOP

多谢 随风 兄帮忙照看帖子。

大家不用拼命想,偶尔想到了再来回答也行。

TOP

  1. @echo off
  2. set var=周一周二周三周四周五周六周日
  3. set /a n=%random% %% 7+1
  4. if %n% lss 2 echo %var:~0,2%
  5. if %n%==2 echo %var:~2,2%
  6. if %n%==3 echo %var:~4,2%
  7. if %n%==4 echo %var:~6,2%
  8. if %n%==5 echo %var:~8,2%
  9. if %n%==6 echo %var:~-4,2%
  10. if %n% gtr 6 echo %var:~-2,2%
  11. pause>nul
  12. %0
复制代码
想高一点,高不了啊,算是对上面8楼的修改吧

[ 本帖最后由 hlzj88 于 2008-11-16 23:38 编辑 ]
1

评分人数

目的,学习批处理

TOP

返回列表