中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 21:49
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 判断当前日期是否是星期天,是则执行相应命令 查看 858 回复 8
楼 主 判断当前日期是否是星期天,是则执行相应命令 发表于 2007-12-11 10:43 ·  IANA 局域网IP(Private-Use)
初级用户
积分 20
发帖 8
注册 2007-12-11 10:20
18年会员
UID 105292
性别 男
状态 离线
各位高手:
我想在批处理中,判断当前日期是否是星期天,是则执行相应命令,请问如何实现,希望提供代码,多谢多谢!
2 发表于 2007-12-11 10:50 ·  中国 浙江 温州 电信
中级用户
★★
积分 458
发帖 196
注册 2006-10-05 12:04
19年会员
UID 64614
状态 离线
echo %date%|find "星期天"
3 发表于 2007-12-11 11:48 ·  IANA 局域网IP(Private-Use)
初级用户
积分 20
发帖 8
注册 2007-12-11 10:20
18年会员
UID 105292
性别 男
状态 离线
楼上的,多谢回复,但是你所说的只是显示出来而已,我想实现:

if (今天是否是星期天) (执行相应命令) else (结束)

这中间上if 中的语句如果写?多谢
4 发表于 2007-12-11 11:54 ·  中国 浙江 温州 电信
中级用户
★★
积分 458
发帖 196
注册 2006-10-05 12:04
19年会员
UID 64614
状态 离线
echo %date%|find "星期天"||结束
相应语句
5 发表于 2007-12-11 12:41 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线

@echo off
if "%date:~-1%"=="天" (echo 执行命令) else echo 结束
pause
致精致简!
6 发表于 2007-12-11 13:56 ·  IANA 局域网IP(Private-Use)
初级用户
积分 20
发帖 8
注册 2007-12-11 10:20
18年会员
UID 105292
性别 男
状态 离线
感谢五楼的朋友提供的代码,在xp中执行没有问题,
如果在英文的windows2000下执行应该怎样写呢?
if "%date:~-1%"=="天" (echo 执行命令) else echo 结束
pause
中的"%date:~-1%"=="天" 具体意义能说明一下吗,多谢了
7 发表于 2007-12-11 16:06 ·  IANA 局域网IP(Private-Use)
初级用户
积分 20
发帖 8
注册 2007-12-11 10:20
18年会员
UID 105292
性别 男
状态 离线
问题处理了,用if "%date:~0,3%"==“Sun” (echo 执行命令) else echo 结束
即可.

%date:~0,3%表示意义为:从第0个字符开始,取得date这个变量的3个字符.
可用echo %date%显示date变量!同样用echo %date:~0,3%显示出前三个字符
8 发表于 2007-12-11 16:11 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
来个中英文操作系统通杀的版本^_^
楼主可自行把最后一个echo命令替换成你需要的命令

(echo %date%|find "Sun")||(echo %date%|find "星期天")||(echo 不是星期天)
9 发表于 2007-12-11 16:14 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
to: 楼主
你写在7楼的代码并不通用,因为不同的操作系统,date格式是不同的,有的星期在最前面,有的星期在最后面。
论坛跳转: