|
wfyinghun
初级用户
积分 126
发帖 53
注册 2007-4-3
状态 离线
|
『楼 主』:
那位高手帮我写这样个批处理
那位高手帮我写这样个批处理:
(一)判断当前的星期,如果星期一,则继续如下判断:
(1)如果是08:00到08:45则执行A代码;
(2)如果是08:55到09:40则执行B代码;
(3)如果是09:50到10:30则执行C代码;
(二)如果是星期二,则继续如下判断:
(1)如果是08:00到08:45则执行D代码;
(2)如果是08:55到09:40则执行E代码;
(3)如果是09:50到10:30则执行F代码;
(二)如果是星期六或者星期天,则执行G代码。
|
|
2008-3-7 12:30 |
|
|
suntb
高级用户
积分 581
发帖 277
注册 2006-12-23
状态 离线
|
『第
2 楼』:
涉及到%date%和%time%了
还得看区域选项设置中日期格式是否带星期几
先处理自己的事情 过会再来看看
|
|
2008-3-7 12:47 |
|
|
wfyinghun
初级用户
积分 126
发帖 53
注册 2007-4-3
状态 离线
|
『第
3 楼』:
我的日期格式是这样的:2008-03-07 星期五
时间格式: 11:41:11.01
另外在上面的G代码里要实现这样一个功能:删除掉凡是今天建立或者修改过的可执行文件(文件夹aaa除外)!该怎么实现啊!
|
|
2008-3-7 12:55 |
|
|
suntb
高级用户
积分 581
发帖 277
注册 2006-12-23
状态 离线
|
『第
4 楼』:
先发个当前日期、星期及时间显示的批,在此基础配合IF可以实现楼主的要求
@echo off
for /f "skip=4 tokens=3,4" %%i in (
'reg query "HKCU\Control Panel\International" /v sShortDate'
) do (echo 显示当前区域选项时间格式为 %%i %%j)
::设置区域选项时间格式为"年-月-日 星期几"
reg add "HKCU\Control Panel\International" /v "sShortDate" /d "yyyy-MM-dd dddd" /f>nul
::显示当前年月日星期及时间
echo 当前日期为:%date:~0,4%年%date:~5,2%月%date:~8,2%日
echo 当前星期为:%date:~11,3%
echo 当前时间为:%time:~0,5%
pause>nul [ Last edited by suntb on 2008-3-7 at 01:10 PM ]
|
|
2008-3-7 13:06 |
|
|
wfyinghun
初级用户
积分 126
发帖 53
注册 2007-4-3
状态 离线
|
『第
5 楼』:
我只知道基本的循环语法,批处理的嵌套循环还不太清楚,另外怎么样判断时间在08:00到08:45之间呢?还有那个G代码怎么写呢,头都大了!
|
|
2008-3-7 13:15 |
|
|
suntb
高级用户
积分 581
发帖 277
注册 2006-12-23
状态 离线
|
『第
6 楼』:
代码应该可以精简 只是按最简单的方式写的
@echo off
for /f "skip=4 tokens=3,4" %%i in (
'reg query "HKCU\Control Panel\International" /v sShortDate'
) do (echo 当前区域选项时间格式为:%%i %%j)
::设置区域选项时间格式为"年-月-日 星期几"
reg add "HKCU\Control Panel\International" /v "sShortDate" /d "yyyy-MM-dd dddd" /f>nul
::显示当前年月日星期及时间
echo 当前日期为:%date:~0,4%年%date:~5,2%月%date:~8,2%日
echo 当前星期为:%date:~11,3%
echo 当前时间为:%time:~0,5%
::楼主的要求
if "%date:~11,3%"=="星期一" (
if %time:~0,5% GEQ 8:00 (if %time:~0,5% LEQ 8:45 goto :A)
if %time:~0,5% GEQ 8:55 (if %time:~0,5% LEQ 9:40 goto :B)
if %time:~0,5% GEQ 9:50 (if %time:~0,5% LEQ 10:30 goto :C)
)
if "%date:~11,3%"=="星期二" (
if %time:~0,5% GEQ 8:00 (if %time:~0,5% LEQ 8:45 goto :D)
if %time:~0,5% GEQ 8:55 (if %time:~0,5% LEQ 9:40 goto :E)
if %time:~0,5% GEQ 9:50 (if %time:~0,5% LEQ 10:30 goto :F)
)
if "%date:~11,3%"=="星期六" (goto :G)
if "%date:~11,3%"=="星期日" (goto :G)
echo 未执行任何操作
pause&goto :EOF
:A
echo 执行操作A
pause&goto :EOF
:B
echo 执行操作B
pause&goto :EOF
:C
echo 执行操作C
pause&goto :EOF
:D
echo 执行操作D
pause&goto :EOF
:E
echo 执行操作E
pause&goto :EOF
:F
echo 执行操作F
pause&goto :EOF
:G
echo 执行操作G
pause&goto :EOF [ Last edited by suntb on 2008-3-7 at 01:51 PM ]
|
|
2008-3-7 13:32 |
|
|
wfyinghun
初级用户
积分 126
发帖 53
注册 2007-4-3
状态 离线
|
『第
7 楼』:
呵呵,Thanks!我去试试看!
|
|
2008-3-7 13:45 |
|
|
suntb
高级用户
积分 581
发帖 277
注册 2006-12-23
状态 离线
|
『第
8 楼』:
删除掉凡是今天建立或者修改过的可执行文件(文件夹aaa除外)??
是在当前文件夹下吗?包含所有子文件夹?
|
|
2008-3-7 13:51 |
|
|
wfyinghun
初级用户
积分 126
发帖 53
注册 2007-4-3
状态 离线
|
『第
9 楼』:
刚测试了下,跳转到F那句有点问题,不能够显示F
if "%date:~11,3%"=="星期五" (
if %time:~0,5% GEQ 8:00 (if %time:~0,5% LEQ 8:45 goto :D)
if %time:~0,5% GEQ 8:55 (if %time:~0,5% LEQ 9:40 goto :E)
if %time:~0,5% GEQ 9:50 (if %time:~0,5% LEQ 13:30 goto :F)
)
:F
echo F
pause&goto :EOF
为了测试我改了2处参数,上面蓝颜色是改的!
|
|
2008-3-7 13:56 |
|
|
wfyinghun
初级用户
积分 126
发帖 53
注册 2007-4-3
状态 离线
|
『第
10 楼』:
包括子文件夹里的可执行文件,但文件夹aaa不处理!
|
|
2008-3-7 13:58 |
|
|
suntb
高级用户
积分 581
发帖 277
注册 2006-12-23
状态 离线
|
『第
11 楼』:
Quote: | Originally posted by wfyinghun at 2008-3-7 13:56:
刚测试了下,跳转到F那句有点问题,不能够显示F
if "%date:~11,3%"=="星期五" (
if %time:~0,5% GEQ 8:00 (if %time:~0,5% LEQ 8:45 got ... |
|
在我这正常啊
|
|
2008-3-7 14:24 |
|
|
wfyinghun
初级用户
积分 126
发帖 53
注册 2007-4-3
状态 离线
|
『第
12 楼』:
还是不行啊,
if %time:~0,5% GEQ 9:50 (if %time:~0,5% LEQ 13:30 goto :F)
不过改成这样就可以了
if %time:~0,5% GEQ 09:50 (if %time:~0,5% LEQ 13:30 goto :F)
|
|
2008-3-7 14:31 |
|
|
suntb
高级用户
积分 581
发帖 277
注册 2006-12-23
状态 离线
|
『第
13 楼』:
Quote: | Originally posted by wfyinghun at 2008-3-7 14:31:
还是不行啊,
if %time:~0,5% GEQ 9:50 (if %time:~0,5% LEQ 13:30 goto :F)
不过改成这样就可以了
if %time:~0,5% GEQ 09:50 (if %time: ... |
|
要不你改为8:XX和9:XX全改为08:XX和09:XX
|
|
2008-3-7 14:51 |
|
|
wfyinghun
初级用户
积分 126
发帖 53
注册 2007-4-3
状态 离线
|
『第
14 楼』:
全改成0x:xx应该可以了!
thank you very much!
|
|
2008-3-7 14:56 |
|