if not "%1"=="wkdxz" mshta vbscript:createobject("wscript.shell").run("""%~f0"" wkdxz",vbhide)(window.close)&&exit rem start time rem echo 每月25日26日27日凌晨三点重启 >> c:\restart.log date /t >> c:\restart.log time /t >> c:\restart.log e: ping -n 1 127.0.0.1>nul color 0a Title 每月29日凌晨三点重启 :loop0 ping -n 3000 127.0.0.1>nul date /t|findstr /i /c:"-10" if %errorlevel%==0 (goto loop1) date /t|findstr /i /c:"/10" if %errorlevel%==0 (goto loop1) goto loop0 :loop1 rem echo ****今天是25日26日27日****! >> c:\restart.log ping -n 3000 127.0.0.1>nul time /t|findstr /i /c:"10:" if %errorlevel%==0 (goto loop2) goto loop1 :loop2 rem echo ****现在是凌晨3点****! >> c:\restart.log date /t >> c:\restart.log time /t >> c:\restart.log rem echo 开始重启 >> c:\restart.log rem shutdown /r /t 0 shutdown /r /t 30 taskkill /IM cmd.exe exit goto loop0
时间: 2024-04-04 21:31:41 浏览: 16
这是一段批处理代码,用于在每月的25、26、27日凌晨三点自动重启计算机。具体解释如下:
首先,使用“if not "%1"=="wkdxz"”命令判断是否传入了参数“wkdxz”,如果没有,则使用“mshta”命令调用自身,并传入参数“wkdxz”,以实现隐藏窗口的效果。然后,使用“rem”命令注释了一些说明信息,包括记录重启时间的文件路径、每月25、26、27日凌晨三点重启的相关信息、计算机重启时的提示信息等等。
接着,使用“:loop0”定义了一个标签,用于后面跳转。在这个标签下,使用“ping”命令等待了3000毫秒(3秒),然后使用“date”命令获取当前日期,并使用“findstr”命令查找日期中是否包含“-10”或“/10”,以等待到当前月的10日。如果找到了,则跳转到“loop1”标签处。如果没有找到,则继续等待,直到找到为止。
在“loop1”标签下,使用“ping”命令等待了3000毫秒(3秒),然后使用“time”命令获取当前时间,并使用“findstr”命令查找时间中是否包含“10:00”,以等待到凌晨3点。如果找到了,则跳转到“loop2”标签处。如果没有找到,则继续等待,直到找到为止。
在“loop2”标签下,首先记录重启时间到文件中,然后执行“shutdown”命令进行计算机重启操作。执行完重启命令后,使用“taskkill”命令结束当前命令行窗口的进程,以实现完全自动化操作。
需要注意的是,这段代码只是一个示例,如果要在实际应用中使用,需要根据具体情况进行修改。同时,这段代码涉及到计算机重启操作,需要谨慎使用,避免造成数据丢失等问题。
相关问题
if not "%1"=="wkdxz" mshta vbscript:createobject("wscript.shell").run("""%~f0"" wkdxz",vbhide)(window.close)&&exit
这段代码是一个Windows批处理脚本中的一行。它检查是否有一个名为"wkdxz"的参数传递给脚本。如果没有该参数,它将使用VBScript创建一个新的WScript.Shell对象并运行脚本的完整路径("%~f0")并带有"wkdxz"参数。该脚本将隐藏窗口并关闭当前窗口。如果已经传递了"wkdxz"参数,则该行代码将被跳过。