晚上睡觉之前为了下emule经常使用命令shutdown,最近受一个小程序影响想做个自动关机的批处理文件免的麻烦!网上有高手做了个,不过运行时出现一个绑定错误,at也不能执行,所以后来自己做了简化版本!还用bat到exe的相关转换工具转换成了exe文件,效果还行!
后来又增加了电脑垃圾文件清除程序!2007-09-03日
把下面程序保存到.txt文件中,再把.txt改成.bat,双击直接运行
源代码:
@ECHO off
TITLE 操作无忧 Version1.3 作者:Jeffrey(GUET)
:start
CLS
COLOR 1b
MODE con: COLS=45 LINES=18
set tm1=%time:~0,2%
set tm2=%time:~3,2%
set tm3=%time:~6,2%
ECHO %date% %tm1%点%tm2%分%tm3%秒
ECHO ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ECHO 操作无忧《-..-》无忧操作
ECHO.
ECHO 请选择相应的操作,然后按回车
ECHO ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ECHO 0. 清除垃圾文件
ECHO 1. 删除copy病毒
ECHO 2. 锁定计算机
ECHO 3. 快速关机
ECHO 4. 快速重启
ECHO 5. 倒计时关机
ECHO 6. 倒计时重启
ECHO 7. 注销
ECHO 8. 取消任务
ECHO 9. 退出
ECHO.
:cho
SET Choice=
SET /P Choice=选择:
rem 设定变量"Choice"为用户输入的字符
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
rem 如果输入大于1位,取第1位,比如输入132,则返回值为1
ECHO.
IF /I "%Choice%"=="0" GOTO Delet
IF /I "%Choice%"=="1" GOTO copy.exe
IF /I "%Choice%"=="2" GOTO lock
IF /I "%Choice%"=="3" GOTO shutq
IF /I "%Choice%"=="4" GOTO restart
IF /I "%Choice%"=="5" GOTO outtime
IF /I "%Choice%"=="6" GOTO SetHour
IF /I "%Choice%"=="7" GOTO logoff
IF /I "%Choice%"=="8" GOTO delAt
IF /I "%Choice%"=="9" GOTO end
rem 为避免出现返回值为空或含空格而导致程序异常,需在变量外另加双引号
rem 注意,IF语句需要双等于号
rem 如果输入的字符不是以上数字,将返回重新输入
ECHO 选择无效,请重新输入
ECHO.
GOTO cho
:Delet
@echo off
echo 正在清除系统垃圾文件,请稍等......
del /f /s /q %systemdrive%/*.tmp
del /f /s /q %systemdrive%/*._mp
del /f /s /q %systemdrive%/*.log
del /f /s /q %systemdrive%/*.gid
del /f /s /q %systemdrive%/*.chk
del /f /s /q %systemdrive%/*.old
del /f /s /q %systemdrive%/recycled/*.*
del /f /s /q %windir%/*.bak
del /f /s /q %windir%/prefetch/*.*
rd /s /q %windir%/temp & md %windir%/temp
del /f /q %userprofile%/小甜饼s/*.*
del /f /q %userprofile%/recent/*.*
del /f /s /q "%userprofile%/Local Settings/Temporary Internet Files/*.*"
del /f /s /q "%userprofile%/Local Settings/Temp/*.*"
del /f /s /q "%userprofile%/recent/*.*"
ECHO.
echo 系统垃圾清除完成!按任意键返回主菜单!
pause >nul
goto start
:copy.exe
@echo off
c:
cd /
attrib -s -h -r copy.exe
del copy.exe /F
attrib -s -h -r *.inf
del autorun.inf /F
d:
cd /
attrib -s -h -r copy.exe
del copy.exe /F
attrib -s -h -r *.inf
del autorun.inf /F
e:
cd /
attrib -s -h -r copy.exe
del copy.exe /F
attrib -s -h -r *.inf
del autorun.inf /F
f:
cd /
attrib -s -h -r copy.exe
del copy.exe /F
attrib -s -h -r *.inf
del autorun.inf /F
g:
cd /
attrib -s -h -r copy.exe
del copy.exe /F
attrib -s -h -r *.inf
del autorun.inf /F
ECHO.
@echo 删除完成,按任意键返回主菜单,记得手动重启计算机!!
pause >nul
goto start
:lock
rundll32.exe user32.dll,LockWorkStation
goto start
:shutq
cls
echo.
goto start
shutdown -s -t 0
:restart
shutdown -r -t 0
:outtime
CLS
ECHO.
ECHO 请输入倒计时秒数
ECHO ****************
ECHO (设定后要取消,单击"确定"后连续按Ctrl+C键两次)
SET timed=
SET /p timed=输入:
shutdown -s -t %timed%
ECHO.
echo 电脑将于%timed%秒后关闭,按任意键返回主菜单...
pause >nul
goto start
:SetHour
ECHO.
ECHO 请输入倒计时秒数
ECHO ****************
ECHO (设定后要取消,单击"确定"后连续按Ctrl+C键两次)
SET sethour=
SET /p sethour=输入:
shutdown -r -t %sethour%
ECHO.
echo 电脑将于%sethour%秒后重启,按任意键返回主菜单...
pause >nul
goto start
:logoff
logoff
:delAt
cls
echo.
shutdown -a
ECHO.
echo 任务已取消,按任意键返回主菜单...
pause >nul
GOTO start
:end
echo 操作无忧《-..-》无忧操作
echo.
echo 谢谢您使用Jeffrey的作品,按任意键退出本程序
pause >nul
exit
效果图如下: