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

[系统相关] 批处理如何提取当月星期六和星期日所在日期?

本人菜鸟,希望高手可以出手帮下忙,最好讲下代码的每一步含义,先谢谢了

咳,楼下的说法确实不错,要兼容不管区域设置是什么的话,跟4楼一样从某个已知日期开始计算.. 就不献丑了
或者用个getweekday.vbs,然后调用它 getweekday yyyy-mm-dd,可以得到任意日期的星期数..
  1. dim wd
  2. wd=WEEKDAY(WScript.Arguments(0),2)
  3. wscript.echo wd
复制代码

[ 本帖最后由 caruko 于 2010-4-17 11:25 编辑 ]

TOP

回复 2楼 的帖子

如果是英文系统咋办?

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1,2 delims=-:/ " %%a in ("%date%") do set Y=%%a&set M=%%b&if "!M:~0,1!"=="0" set M=!M:~1!
  3. set/a "T=^!(M-2)","R=(^!(Y%%4)&^!^!(Y%%100))|^!(Y%%400)","C=^!(M-4)|^!(M-6)|^!(M-9)|^!(M-11)","E=T*(28+R)+C*30+(^!T&^!C)*31"
  4. if %M% lss 3 set B=1
  5. for %%i in (0 31 59 90 120 151 181 212 243 273 304 334) do set/a V+=1&if "%M%"=="!V!" set/a "W=7-(%%i+Y+Y/4-Y/100+Y/400-R*B)%%7"
  6. echo.%Y%年%M%月所有的星期六和星期日依次是:
  7. for /l %%i in (%W%,7,%E%) do set/a B=%%i+1&(if !B! gtr %E% set "B= ")&set/p"=%%i !B! "<nul
  8. pause>nul
复制代码

[ 本帖最后由 hanyeguxing 于 2010-4-18 20:28 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

楼上大侠厉害,可是代码俺有点看不懂哈,能不能给加点注释啊

TOP

返回列表