中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 07:57
48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,250 会员排行
DOS批处理 & 脚本技术(批处理室) » 对日期命令(date)进行增强的批处理
可打印版本  1,382 / 3
第1楼 youxi01 发表于 2006-10-31 00:52
高级用户 发帖 247 积分 846 来自 湖南==》广东
对日期命令(date)进行增强的批处理
刚来不久,发现dos联盟真的不错,让我学到了不少的东西,进步了不少。特发表一篇拙作,表示感谢。

@echo off & color 1f & title 日期命令扩展
if "%1"=="" set flag=0 & goto :Show
set param=%1 %2 %3 %4

::定义年份、月份、日期等
set Year=%date:~0,4%
set Month=%date:~5,2%
set Date_=%date:~8,2%
set Day=%date:~11,3%

::定义参数
set /y=%Year%年
set /m=%Month%月
set /d=%Date_%日
set /x=%Day%

setlocal enabledelayedexpansion

:Test
set flag=1
set str=
for %%i in (%param%) do (
if /i defined %%i (
set str=!str! !%%i!
) else (
set flag=2
set str=未知参数: %%i
goto :Show)
)
:Show
if %flag% equ 0 (
echo.&echo.
echo ==================================================
echo 使用说明:
echo.
echo 支持参数:/y^(显示年份^) /d^(日期^) /m^(月份^) /x^(星期^)
echo.
echo 示例:
echo %~nx0 /y 显示:××年
echo %~nx0 /Y /M 显示:××年××月
echo ================================================== & goto :Over)
echo.&echo !str!&echo.
:Over
cmd /k

说明:1、本程序支持且最多支持四个参数,分别为:/Y /M /D /X;
2、代码很普通,唯一的“闪光点”在for的应用,利用for命令对批处理的参数的个数,参数的名称进行自动识别。
第2楼 redtek 发表于 2006-11-01 00:41
金牌会员 发帖 1,147 积分 2,902
很方便啊~:)

第3楼 namejm 发表于 2006-11-01 00:50
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  在有些电脑上,并没有开启星期的显示,这个和日期格式的设置有关系,如果有强制开启星期显示的语句就更完美了。
第4楼 chenall 发表于 2006-11-01 01:22
银牌会员 发帖 469 积分 1,276 来自 福建泉州
由于日期格式没有考虑在内,所以这个批处理并不能应用于所有的电脑中.
这里有一篇是针对时间分解的.
MSDOS环境下获取并分解系统时钟信息的批处理
http://www.cn-dos.net/forum/viewthread.php?tid=19756
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023