中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-08 05:44
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求一个让批处理显示今天是今年的第几天(阳历) 查看 926 回复 5
楼 主 求一个让批处理显示今天是今年的第几天(阳历) 发表于 2008-04-16 00:17 ·  中国 重庆 电信
中级用户
★★
积分 363
发帖 162
注册 2007-04-22 21:31
19年会员
UID 86104
性别 男
状态 离线
如题,求教各位大虾!
2 发表于 2008-04-16 01:46 ·  中国 北京 华为云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
@echo off
mshta vbscript:msgbox("今天是一年中的第"^&datepart("y",now)^&"天",0,"提示")(window.close)
3 发表于 2008-04-16 10:32 ·  中国 重庆 联通
中级用户
★★
积分 363
发帖 162
注册 2007-04-22 21:31
19年会员
UID 86104
性别 男
状态 离线
谢谢楼上的师傅,太厉害了!太谢谢了!
4 发表于 2008-04-16 13:12 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
这不是纯P版的,但厉害,我不懂vbs,以前写了纯p版的(可计算任意日期),发给楼主了:
@echo off
:begin
cls
set /p var=输入要计算的日期(格式为2000-01-01):
if "%var:~4,1%%var:~7,1%"=="--" goto year
cls
echo 输入格式不正确!请返回正确输入。&ping /n 2 127.1>nul&goto begin
:year
set year=%var:~,4%
set /a str=%year%-%year%/4*4
:month
if %var:~5,1% equ 0 (set month=%var:~6,1%) else (set month=%var:~5,2%)
if %month% gtr 2 (
if %str% equ 0 (
set /a number+=29
) else (
set /a number+=28
)
)
set /a month-=1
if %month% gtr 0 for /l %%i in (1,1,%month%) do call :lp %%i
:day
if %var:~8,1% equ 0 (set /a number=%number%+%var:~9,1%) else (set /a number=%number%+%var:~8,2%)
cls
echo %var%是%year%年的第%number%天&set number=0
pause>nul&goto :eof
:lp
for %%i in (1,3,5,7,8,10) do if %%i equ %1 set /a number+=31
for %%i in (4,6,9,11) do if %%i equ %1 set /a number+=30
goto :eof


[ Last edited by zw19750516 on 2008-4-16 at 06:40 PM ]
批处理之家新域名:www.bathome.net
5 发表于 2008-04-21 00:01 ·  中国 重庆 联通
中级用户
★★
积分 363
发帖 162
注册 2007-04-22 21:31
19年会员
UID 86104
性别 男
状态 离线
谢谢zw19750516兄台,我正需要这个。
6 发表于 2008-04-22 20:30 ·  中国 河南 郑州 联通
新手上路
积分 11
发帖 6
注册 2008-04-17 13:13
18年会员
UID 116143
性别 男
来自 山西晋城
状态 离线
谢谢
论坛跳转: