中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [”急“]如何在批处理中判断系统当前日期等于某个日期?
作者:
标题: [”急“]如何在批处理中判断系统当前日期等于某个日期? 上一主题 | 下一主题
ztb888
初级用户




积分 119
发帖 4
注册 2004-5-17
状态 离线
『楼 主』:  [”急“]如何在批处理中判断系统当前日期等于某个日期?

那位兄台知道,在批处理文件中判断当前计算机的系统日期是否等于某个日期字符串,如果等于,则运行某个文件或命令?静候佳音!我不希望用外来的工具![em01][em01]






[此贴子已经被作者于2004-5-17 下午 02:29:54编辑过]




2004-5-17 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhri
高级用户

zhri


积分 665
发帖 153
注册 2004-2-23
状态 离线
『第 2 楼』:  

办法是有的,但是......

还算可以。

具体的编写,我现在写不出了。

但是思路是这个。

不可能使用time和date命令,因为他们要求你输入新的来替换
我们可以建立一个目录(比如md aa),然后判断这个目录的建立日期是什么。

我想应该要用到这些个命令。

md
dir
more
find
>
|
if errorlevel=.......

.......

真不好意思......我忘了。

2004-5-17 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ztb888
初级用户




积分 119
发帖 4
注册 2004-5-17
状态 离线
『第 3 楼』:  

老大,麻繁你记起来好吗?

2004-5-18 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhri
高级用户

zhri


积分 665
发帖 153
注册 2004-2-23
状态 离线
『第 4 楼』:  

我实在想不起来了,老兄。

我只能告诉你思路。

首先,即时地建立一个目录(因为建立文件比建立目录麻烦),这时,DIR,就可以看到目录的建立日期。

然后,用if .....(判断字符串是否相等。。。。。。if有三种用法......其中的一种......)

然后用more,find,和dir,同时,用|(管道),》(重定向)把这三条命令写成一条,

主要是判断你刚才建立的这个目录的时期(用dir显示在屏幕上的),是不是和你if后面的字符串相等。。。。。。

。。。。。。

如果你能弄到本DOS手册就好办了。

2004-5-18 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhri
高级用户

zhri


积分 665
发帖 153
注册 2004-2-23
状态 离线
『第 5 楼』:  

http://dos.e-stone.cn/dosbbs/dispbbs.asp?boardID=12&ID=1292

也许能有点帮助。

实在想不起来了。

2004-5-18 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Kinglion
铂金会员

痴迷DOS者


积分 5792
发帖 1921
注册 2003-6-20
来自 金獅電腦軟體工作室
状态 离线
『第 6 楼』:  

不希望用外来的工具,就自己编写一个小程序,此问题用BASIC语言很容易实现的.



熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境!
金狮電腦軟體工作室愿竭诚为您服务!
QQ群:8393170(定期清理不发言者)
个人网站:http://www.520269.cn
电子邮件:doujiehui@vip.qq.com
微信公众号: doujiehui
2004-5-21 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (79207959)  编辑帖子  回复  引用回复
Kinglion
铂金会员

痴迷DOS者


积分 5792
发帖 1921
注册 2003-6-20
来自 金獅電腦軟體工作室
状态 离线
『第 7 楼』:  

具体的例程见BASIC程序提供的程序例子. MS-BASIC 7.1 版, QUICK BASIC 4.5 版都有相应的例子程序.



熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境!
金狮電腦軟體工作室愿竭诚为您服务!
QQ群:8393170(定期清理不发言者)
个人网站:http://www.520269.cn
电子邮件:doujiehui@vip.qq.com
微信公众号: doujiehui
2004-5-21 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (79207959)  编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 8 楼』:  

Re ztb888:

  此问题并不是很难,而且有相当多的解决方案,它们基于不同系统和不同需求,复杂度和技巧性也各有不同,真要详叙,可以上万字的篇幅。本站就有很多关于日期和时间的帖子,可以使用搜索功能大概浏览一下,了解各种方案,然后确定你的需求,将它告诉我们才能有的放矢的解决问题。




※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2004-5-21 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
roy
管理员

專業島民



积分 4869
发帖 1633
注册 2002-12-10
状态 离线
『第 9 楼』:  

我出一個範例好了:

remind.bat
-----------------
@echo off
ver|date|find "05-21">%TEMP%\$$$temp1
copy %TEMP%\$$$temp1 %TEMP%\$$$temp2>NUL
if exist %TEMP%\$$$temp2 goto remind
goto end

:remind
echo --------------------------------
echo Today is important day!
echo --------------------------------

:end
del %TEMP%\$$$temp1
del %TEMP%\$$$temp2




我的網站:http://mw16.2ya.com/ 我的網誌: http://scrappedblog.blogspot.com/
~
我的Winamp正在播放的歌曲:
2004-5-21 00:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
SagInvoker
初级用户




积分 257
发帖 38
注册 2004-5-20
状态 离线
『第 10 楼』:  

我觉得斑竹说的方法很好,不过再简单点就好了,而且按照斑竹的意思,好象空文件难道就不能拷了吗?
MD $$$###
DIR $$$###|FIND "05-22">NUL
IF NOT ERRORLEVEL 1 GOTO TRY
::Today isn''t what you want
GOTO END
:TRY
::Today is the real day,Now you can do what you want to do
:END



[此贴子已经被作者于2004-5-22 上午 12:50:33编辑过]




2004-5-22 00:00
查看资料  发送邮件  发短消息 网志  OICQ (105695504)  编辑帖子  回复  引用回复
roy
管理员

專業島民



积分 4869
发帖 1633
注册 2002-12-10
状态 离线
『第 11 楼』:  

空文件就不能拷的呢



我的網站:http://mw16.2ya.com/ 我的網誌: http://scrappedblog.blogspot.com/
~
我的Winamp正在播放的歌曲:
2004-5-22 00:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 12 楼』:  

Re Roy:

  你所用的方法,似乎是在DOS低版本的FIND不产生ERRORLEVEL的时候研究出来的吧。现在用不着这样了,因为大多数人用的都是高版本,而且"空文件不拷贝"应该算是DOS未规范的细节,不知道那个版本就会被取消的。

  而且在本地化的或者未解决Y2K问题的DOS系统中,此程序存在着潜在的问题。比如,我想测知是否5月4日时,使用 ver|date|find "05-04">%TEMP%\$$$temp1 可能会
混淆 05年4月,04年5月以及4月5日等各种状态。



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2004-5-23 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yadngah1984
新手上路





积分 18
发帖 12
注册 2010-9-1
来自 湖南益阳
状态 离线
『第 13 楼』:  

@echo off
setlocal enabledelayedexpansion
set mm=%date:~5,2%
set dd=%date:~8,2%
if %mm% lss 10 set mm=%date:~6,1%
set /a od=!mm!-1
if !od! lss 10 set rq=0!od!
set cw=%date:~0,4%.!rq!
set /p a=请输入要查询片区名称(片区开头字母就行):
net use z: /delete
net use z: \\10.10.103.7\上传 wang /user:administrator
dir z:\月报\%cw% |find "%a%"
if %errorlevel%==0 goto abc
goto end
:abc
mshta vbscript:CreateObject("Wscript.Shell").popup("您所查询片区月报已交!",7,"系统提示!",64)(window.close)
exit
:end
mshta vbscript:CreateObject("Wscript.Shell").popup("您所查询片区月报未交,请督促完成!",7,"系统提示!",64)(window.close)
exit

我个人写的,希望有所帮助

2010-9-10 13:11
查看资料  发送邮件  发短消息 网志  OICQ (280709486)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: