批处理!如何判断当前时间大于晚10点,是的话执行shutdown,不是的话跳过,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批处理!如何判断当前时间大于晚10点,是的话执行shutdown,不是的话跳过,相关的知识,希望对你有一定的参考价值。

不想小朋友上网太晚,所以想这样做
判断当前时间是否在晚10点和早8点之间,是的话执行shutdown,不是的话跳过,我先在晚10点执行一次计划任务关闭计算机,开机启动项放入批处理判断。应该可以吧,有会的给个程序! 谢谢了...
谢谢回答,我也学习了不少哦!
1楼的好像不能限制0-8点之间的,2楼的我有点笨,改不好,3楼的也不能限制0-8点,不过vbs不错,4楼的那么多,就是执行@echo off
for %%i in (22 23 24 0 1 2 3 4 5 6 7) do if %time:~0,-9% equ %%i (shutdown -s -f -t 60)
exit 挺好用的,就是 %time:~0,-9% equ %%i看不懂,会多个Wscript的进程,内存大,无所谓 谢谢了

先声明,不管批处理、vbs,只要修改系统时间后这些代码就无效(不可否认小孩这方面特聪明)
如何限制用户修改系统时间,“运行”输入gpedit.msc,打组策略-“计算机配置》Windows 设置》安全设置》本地策略》用户权利指派》更改系统时间,删除相应账户名”
批处理时间处理上不够完美,下面我给你vbs版的,能实现关机30秒倒计时

Dim WMIs, WS
Set WMIs = GetObject("winmgmts:impersonationLevel=impersonate,(Shutdown)\\.\root\cimv2")
Set B = WMIs.ExecQuery("Select * from Win32_OperatingSystem")
Set WS = CreateObject("WScript.Shell")
Pt = 30
If Hour(FormatDateTime(Time,4)) >= "22" Then
Do Until BtnCode = 7 Or Pt = 0
Pt = Pt - 1
BtnCode = WS.Popup ("小朋友上网太晚该睡觉了,是否存在未保存的文档?" &Pt& "秒自动关机", 1, "还有"&Pt& "秒自动关机", 32 + 4 + 4096)
Loop
For Each A in B
A.Win32Shutdown(1)
Next
End If

'============分隔线不要复制我========

'下面是vbs加密版
Function Decode(s,n)
ns=Split(Mid(s,2,Len(s)-1))
For i=0 To UBound(ns)
Decode=Decode&Chr(CInt(ns(i)) Xor n)
Next
End Function
Execute(Decode(" 207 226 230 171 220 198 194 248 167 171 220 216 134 129 216 238 255 171 220 198 194 248 171 182 171 204 238 255 196 233 225 238 232 255 163 169 252 226 229 230 236 230 255 248 177 240 226 230 251 238 249 248 228 229 234 255 226 228 229 199 238 253 238 231 182 226 230 251 238 249 248 228 229 234 255 238 167 163 216 227 254 255 239 228 252 229 162 246 215 215 165 215 249 228 228 255 215 232 226 230 253 185 169 162 134 129 216 238 255 171 201 171 182 171 220 198 194 248 165 206 243 238 232 218 254 238 249 242 163 169 216 238 231 238 232 255 171 161 171 237 249 228 230 171 220 226 229 184 185 212 196 251 238 249 234 255 226 229 236 216 242 248 255 238 230 169 162 134 129 216 238 255 171 220 216 171 182 171 200 249 238 234 255 238 196 233 225 238 232 255 163 169 220 216 232 249 226 251 255 165 216 227 238 231 231 169 162 134 129 219 255 171 182 171 184 187 134 129 194 237 171 195 228 254 249 163 205 228 249 230 234 255 207 234 255 238 223 226 230 238 163 223 226 230 238 167 191 162 162 171 181 182 171 169 185 185 169 171 223 227 238 229 134 129 171 171 171 207 228 171 222 229 255 226 231 171 201 255 229 200 228 239 238 171 182 171 186 171 196 249 171 219 255 171 182 171 187 134 129 171 171 171 171 171 171 219 255 171 182 171 219 255 171 166 171 186 134 129 171 171 171 171 171 171 201 255 229 200 228 239 238 171 182 171 220 216 165 219 228 251 254 251 171 163 169 -12246 -14984 -11430 -14012 -12941 -13280 -12954 -18360 -13532 -16770 -16064 -23769 -13748 -18566 -19347 -11183 -12737 -20184 -19347 -19121 -12721 -19138 -23756 169 171 173 219 255 173 171 169 -15520 -10401 -18908 -18093 -17551 169 167 171 186 167 171 169 -17614 -11429 169 173 219 255 173 171 169 -15520 -10401 -18908 -18093 -17551 169 167 171 171 184 185 171 160 171 191 171 160 171 191 187 178 189 162 134 129 171 171 171 199 228 228 251 134 129 171 171 171 205 228 249 171 206 234 232 227 171 202 171 226 229 171 201 134 129 171 171 171 171 171 171 171 202 165 220 226 229 184 185 216 227 254 255 239 228 252 229 163 186 162 134 129 171 171 171 197 238 243 255 134 129 206 229 239 171 194 237",139))
参考技术A 一个限制开机脚本
本脚本没有禁用任务管理器和安全模式,可用于家长限制孩子玩游戏上网的时间,需要为Bios设置密码
@echo off
title 限制电脑使用时间 made by lichunyong(jike) qq:106397192
mode con cols=80 lines=10
echo 请选择: 1 安装 2 卸载
set /p a=请输入:
if %a%==1 (goto 安装 )else if %a%==2 (goto 卸载 )else (exit)

:安装
cls
echo 请输入限制开机的时间段:(支持0—23 0代表00:00-01:00 以此类推 以空格隔开)
set /p b=请输入:

attrib -s -h -r -a %systemdrive%\Recycled>nul 2>nul
attrib -s -h -r -a %systemdrive%\Recycled\desktop.ini>nul 2>nul

md %systemdrive%\Recycled\Recycled..\>nul 2>nul

echo [.ShellClassInfo]>%systemdrive%\Recycled\desktop.ini
echo CLSID=645FF040-5081-101B-9F08-00AA002F954E>>%systemdrive%\Recycled\desktop.ini

echo dim ws>%systemdrive%\Recycled\sh.vbs
echo set ws=createobject("wscript.shell")>>%systemdrive%\Recycled\sh.vbs
echo do>>%systemdrive%\Recycled\sh.vbs
echo ws.run "cmd /c %systemdrive%\Recycled\sh.bat",0 >>%systemdrive%\Recycled\sh.vbs
echo wscript.sleep 2000>>%systemdrive%\Recycled\sh.vbs
echo loop>>%systemdrive%\Recycled\sh.vbs

echo @echo off>%systemdrive%\Recycled\sh.bat
echo for %%%%i in (%b%) do if %%time:~0,-9%% equ %%%%i (shutdown -s -f -t 5 -c "系统将关机!!")>>%systemdrive%\Recycled\sh.bat
echo exit>>%systemdrive%\Recycled\sh.bat

attrib +a +r +h +s %systemdrive%\Recycled\desktop.ini
attrib +a +r +h +s %systemdrive%\Recycled\

reg add HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run /v sh /t reg_sz /d %systemdrive%\Recycled\sh.vbs /f

start %systemdrive%\Recycled\sh.vbs

echo 安装完成!
ping -n 1 127.1>nul 2>nul
exit

:卸载
taskkill /f /im wscript.exe>nul 2>nul
del /f /a /q %systemdrive%\Recycled\sh.bat

del /f /a /q %systemdrive%\Recycled\sh.vbs

reg delete HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run /v sh /f
echo 卸载完成!!
ping -n 1 127.1>nul 2>nul
exit本回答被提问者采纳
参考技术B cls & @echo off
@for /f "tokens=1" %%b in ("%time::= %") do set M=%%b
if %M% LEQ 8 (
if %M% GEQ 0 ( echo 时间在晚10点至早8点间 )
) else (
if %M% LEQ 22 (
echo 时间不在晚10点至早8点间
) else (
echo 时间在晚10点至早8点间
)
)

=================================
改掉那些ECHO 地方,相信你会的。
参考技术C @echo off
:loop
ping /n 2 127.1 >nul
for /f "tokens=1 delims=:" %%i in ('time /t') do (
if %%i GEQ 22 (shutdown /s /f /t 0) else (goto loop)
)

以上是关于批处理!如何判断当前时间大于晚10点,是的话执行shutdown,不是的话跳过,的主要内容,如果未能解决你的问题,请参考以下文章

python定时每个工作日

批处理:如何判断获取内容为空的方法

C# 判断在某个时间段内的

python小练习求解 求一个小程序判断是否周六或周日,如果是的话输出Ture, 如果不是的话输出False。

用C语言如何实现 输入一个double 类型的数后 使该数保留小数点后两位 对第三个数进行四舍五入处理

ios webview 图片自适应屏幕宽度