使用CMD批处理程序在每月最后一个工作日关闭程序
2013-02-26 18:06
405 查看
::在每个月的最后一个工作日自动停止程序,在每个月第一个天自动启动程序
::Author: Bruce.wan
::核心算法:
:: 1.根据系统当前之间,获取当前月份
:: 2.根据月份计算出当月的最后一天,遇到闰年2月份最后一天为29.
:: 3.判断当月的倒数第三天是否是星期五,如果是则需要停止程序。例如2012-09-28。
:: 4.判断当月的倒数第二天是否是星期五,如果是则需要停止程序。例如2012-06-29。
:: 5.当月的最后一天停止程序。
:: 6.当月的第一天启动程序。
::
@echo off
::初始化参数
set stop=N
set start=N
::获取月
set m=%date:~5,2%
::获取日
set d=%date:~8,2%
::获取星期
set w=%date:~11,4%
::获取年
set x=%date:~0,4%
::判断是否闰年
set /a y=%x%*10/4
set m2=%y:~-1,1%
::计算最后一天
set ld=28
if %m2%==0 set ld=29
for %%i in (01 03 05 07 08 10 12) do (if %m%==%%i set ld=31)
for %%i in (04 06 09 11) do (if %m%==%%i set ld=30)
::计算是本月倒数第几天
set /a c=(%ld%-%d%)+1
::判断当月倒数第三天
if %c%==3 (
rem echo 今天是倒数第3天
::判断是否是周五
if %w% == 周五 (
rem echo 现在是工作日
set stop=Y
)
)
::判断当月倒数第二天
if %c%==2 (
rem echo 今天是倒数第2天
:: 判断是否是周五
if %w% == 周五 (
rem echo 现在是工作日
set stop=Y
)
)
::当月最后一天,停止程序
if %c%==1 (
set stop=Y
)
::当月第一天,启动程序
if %d%==01 (
set start=Y
)
echo 今天是:%date%
echo 本月最后天是:%ld%日
echo 本月最后天是:%m%月%d%日
echo 现在是:%w%
echo 距离月底还有:%c%天
echo 是否停止程序:%stop%
echo 是否启动程序:%start%
pause
::Author: Bruce.wan
::核心算法:
:: 1.根据系统当前之间,获取当前月份
:: 2.根据月份计算出当月的最后一天,遇到闰年2月份最后一天为29.
:: 3.判断当月的倒数第三天是否是星期五,如果是则需要停止程序。例如2012-09-28。
:: 4.判断当月的倒数第二天是否是星期五,如果是则需要停止程序。例如2012-06-29。
:: 5.当月的最后一天停止程序。
:: 6.当月的第一天启动程序。
::
@echo off
::初始化参数
set stop=N
set start=N
::获取月
set m=%date:~5,2%
::获取日
set d=%date:~8,2%
::获取星期
set w=%date:~11,4%
::获取年
set x=%date:~0,4%
::判断是否闰年
set /a y=%x%*10/4
set m2=%y:~-1,1%
::计算最后一天
set ld=28
if %m2%==0 set ld=29
for %%i in (01 03 05 07 08 10 12) do (if %m%==%%i set ld=31)
for %%i in (04 06 09 11) do (if %m%==%%i set ld=30)
::计算是本月倒数第几天
set /a c=(%ld%-%d%)+1
::判断当月倒数第三天
if %c%==3 (
rem echo 今天是倒数第3天
::判断是否是周五
if %w% == 周五 (
rem echo 现在是工作日
set stop=Y
)
)
::判断当月倒数第二天
if %c%==2 (
rem echo 今天是倒数第2天
:: 判断是否是周五
if %w% == 周五 (
rem echo 现在是工作日
set stop=Y
)
)
::当月最后一天,停止程序
if %c%==1 (
set stop=Y
)
::当月第一天,启动程序
if %d%==01 (
set start=Y
)
echo 今天是:%date%
echo 本月最后天是:%ld%日
echo 本月最后天是:%m%月%d%日
echo 现在是:%w%
echo 距离月底还有:%c%天
echo 是否停止程序:%stop%
echo 是否启动程序:%start%
pause
相关文章推荐
- 使用java代码关闭指定端口的程序-windows
- C# WinForm程序中,使用多线程,在关闭窗体时 怎么关闭窗体的所有线程,使程序退出。
- 使用Qt编辑关闭窗口程序的一些见解
- delphi 7.0程序运行关闭最后弹出CPU窗口:ntdll.DbgBreakPoint的解决方法
- 使用commons-daemon启动、关闭java程序
- 如何使用dos命令关闭正在运行程序
- 使用Qt编辑关闭窗口程序的一些见解
- QT中使用QProcess启用外部程序和关闭外部程序
- 2010最后一篇:使用PyQt4开发的一个开源小程序QaoBa
- windows server 2003更新后 启动网站提示另一个程序正在使用此文件,进程无法访问 关闭phpstudy全部停止再启动OK
- 使用API函数发送消息关闭程序:WM_CLOSE=0x0010;
- Linux使用screen实现关闭ssh连接的情况下,让程序继续在后台运行
- C++--如何实现SDI程序使用CSplitterWnd创建的多个视图的动态地显示和关闭视图
- C#使用API禁用/删除程序窗体的关闭菜单和按钮
- 使用shell关闭占用某一个端口的程序
- 使用putty远程连接linux防止关闭putty程序就停止
- 使用installanywhere打包java文件生成任何平台都可以运行的程序(如.exe)(关闭360!)
- C++--如何实现SDI程序使用CSplitterWnd创建的多个视图的动态地显示和关闭视图
- linux c程序获取cpu使用率及内存使用情况关闭
- 使用U盘PE安装系统,显示安装程序无法重新启动计算机,请关闭所有应用程序并且关机,以便继续进行XP安装。找不到网络路径。的解决方法