虽然大家学过了一些Windows的命令,但用批处理来与用户交互并实现自动关机可能还没有试过吧.自己做一个关机程序,感觉可不一样,分享了电脑自动关�.bat ç¼å代ç ï¼ä¸èµ·æ¥ççå§ï¼
ã ã第ä¸æ¥:
æå¼è®°äºæ¬,è¾å ¥ä¸é¢çæå(以remå¼å¤´çè¯å¥æ¯æ³¨é,å¯ä»¥ä¸å¿ è¾å ¥).
å¤å¶ä»£ç 代ç å¦ä¸:
@echo off
titleç³»ç»å ³æºakiecarry
:loop
cls
color bc
echo.
echo.
echo *** WINDOWSXP å¿«éå ³æºç³»ç» ***
echo.
echo å¿«éå ³æºâ¦â¦â¦â¦â¦â¦â¦â¦è¯·ç´æ¥å车
echo å¼å§å计æ¶å ³æºâ¦â¦â¦â¦â¦è¯·è¾å ¥1+å车
echo 设å®æ¶é´ç¹å ³æºâ¦â¦â¦â¦â¦è¯·è¾å ¥2+å车
echo æ¾ç¤ºè®¡æ¶å ³æºâ¦â¦â¦â¦â¦â¦è¯·è¾å ¥3+å车
echo 设å®æ¯å¤©å ³æºâ¦â¦â¦â¦â¦â¦è¯·è¾å ¥4+å车
echo åæ¶ç³»ç»å ³æºâ¦â¦â¦â¦â¦â¦è¯·è¾å ¥5+å车
echo éåºâ¦â¦â¦â¦â¦â¦â¦â¦â¦â¦è¯·è¾å ¥6+å车
echo.
echo.
set a=
set /p a= ã 请è¾å ¥ ã:
if "%a%"=="1" goto aaa
if "%a%"=="2" goto bbb
if "%a%"==" " goto ccc
if "%a%"=="" goto ddd
if "%a%"=="3" goto eee
if "%a%"=="4" goto fff
if "%a%"=="q" exit
goto loop
:ddd
@echo off
color e5
cls
echo.
echo.
echo ãç³»ç»å³å°å ³æºå¹¶ç»æè¿ç¨ã
pause
echo.
::ntsd -c q -pn %run%
taskkill /f /t /im pfw.exe /f /t /im internat.exe /f /t /im explorer.exe
shutdown -s -f -t 0 -c "åæ¶è¯·è¿è¡shutdown -a"
exit
:aaa
@echo off
color f4
echo.
echo.
echo.
echo ç°å¨å°è®¾ç½®ç³»ç»èªå¨å ³æº,请å¨æ¤è¾å ¥å计æ¶ç§æ°åå车,ç³»ç»å°å¨è®¾å®æ¶é´èªå¨å ³é
set mytime=
set /p mytimes= ã å计æ¶å ³æºè¯·è¾å ¥ å°æ¶æ°ã:
set /a mytimes=%mytimes%*3600
set /p mytimef= ã å计æ¶å ³æºè¯·è¾å ¥ åéæ°ã:
set /a mytimef=%mytimef%*60
set /p mytimem= ã å计æ¶å ³æºè¯·è¾å ¥ ç§ æ°ã:
set /a mytime=%mytimes%+%mytimef%+%mytimem%
shutdown -s -t %mytime% -c "åæ¶è¯·è¿è¡shutdown -a"
cls
echo.
echo ãç³»ç»å°å¨%mytime%ç§åå ³æºã
echo.
pause
goto loop
:bbb
@echo off
color f9
echo.
echo.
echo.
echo ç°å¨å°è®¾ç½®ç³»ç»èªå ³æº,请å¨æ¤è¾å ¥å ³æºæ¶é´(å¦12:00)å车,ç³»ç»å°å®æ¶èªå¨å ³é
set mytimes=
set mytimef=
set /p mytimes= ã å®æ¶å ³æºè¯·è¾å ¥ æ¶ã:
set /p mytimef= ã å®æ¶å ³æºè¯·è¾å ¥ åã:
at %mytimes%:%mytimef% shutdown -s -t 0
::è¿è¡¨ç¤ºå¨mytimeåæ§è¡shutdown -s -t 0æä½.å¦æå½åæ¶é´å¤§äºä»»å¡æ§è¡æ¶é´,åé»è®¤ä¸ºææ¥æ§è¡,0为å计æ¶æ¶é´.
echo.
echo ãç°å¨å°æ¾ç¤ºææ计åã
echo
at
echo
pause
::æ¾ç¤ºè®¡å并æå
goto loop
:ccc
@echo off
color f2
echo.
echo.
echo.
echo ãç°å¨å°è®¾ç½®åæ¶ç³»ç»èªå¨å ³æºã
echo.
pause
shutdown -a
echo.
echo.
echo ãç°å¨å°æ¾ç¤ºææ计å,å¨å车ååæ¶è®¡åä¸æ 须确认ã
echo
at
echo
pause
at /del /yes
::åæ¶ææ计å并æ 须确认
cls
echo.
echo ãç³»ç»å·²ç»åæ¶èªå¨å ³æºã
echo ãç³»ç»å·²ç»åæ¶ææ计åä»»å¡ã
echo.
pause
goto loop
:eee
@echo off
color f4
echo.
echo.
echo.
echo ç°å¨å°è®¾ç½®ç³»ç»èªå¨å ³æº,请å¨æ¤è¾å ¥å计æ¶ç§æ°åå车,ç³»ç»å°å¨è®¾å®æ¶é´èªå¨å ³é
set mytime=
::æ¤è¡æ¯ä¸ºäºæ¸ mytimeåéå¼,以å å¨ä¸æ³¨æçæ åµä¸åå¨åéå¼,æ¤ä¸ºä¸ç§å¥½çä¹ æ¯.
set mytimes=0
::èµå¼ä¸º0æ¯ä¸ºäºä½¿%mytimes%ä¸è´äºæ æä¹,ä¸å.
set mytimef=0
set mytimem=0
set /p mytimes= ã å计æ¶å ³æºè¯·è¾å ¥ å°æ¶æ°ã:
set /a mytimes=%mytimes%*3600
set /p mytimef= ã å计æ¶å ³æºè¯·è¾å ¥ åéæ°ã:
set /a mytimef=%mytimef%*60
set /p mytimem= ã å计æ¶å ³æºè¯·è¾å ¥ ç§ æ°ã:
color a3
mode con cols=30 lines=4
set /a mytime=%mytimes%+%mytimef%+%mytimem%
SET wait=ping -n 2 127.0.0.1 ^>^nul
for /l %%n in (%mytime%,-1,0) do (
rem cls
echo *******************
echo ã%%nç§åèªå¨å ³æºã
echo *******************
%wait%
cls
)
shutdown -s -t 0
goto loop
:fff
@echo off
color f9
echo.
echo.
echo.
echo ç°å¨å°è®¾ç½®ç³»ç»æ¯å¤©è¿è¡èªå ³æº
echo.
set myopengs=
set /p myopengs= ãéå¤è®¾å®è¯·è¾å ¥åç©ºæ ¼+å车,å次åæåä¸æ¬¡è®¾å®è¯·å车ã
echo.
echo 请å¨æ¤è¾å ¥å ³æºæ¶é´(å¦12:00)åå车,ç³»ç»å°å®æ¶å ³é
echo.
set mytimes=
set mytimef=
set /p mytimes= ã å®æ¶å ³æºè¯·è¾å ¥ æ¶ã:
set /p mytimef= ã å®æ¶å ³æºè¯·è¾å ¥ åã:
at %mytimes%:%mytimef% /EVEry:M,T,W,Th,F,S,Su shutdown -s -f
echo.
echo ãç°å¨å°æ¾ç¤ºææ计åã
echo
at
echo
pause
::æ¾ç¤ºè®¡å并æå
if "%myopengs%"==" " goto :fff
goto loop
ç¨è®°äºæ¬ç¼åï¼å¦ä¿å为.batå³å¯
è¿è¡åçé¢ä¸ºï¼
***************************************************************************************
echo *** WINDOWSXP å¿«éå ³æºç³»ç» ***
echo.
echo å¿«éå ³æºâ¦â¦â¦â¦â¦â¦â¦â¦è¯·ç´æ¥å车
echo å¼å§å计æ¶å ³æºâ¦â¦â¦â¦â¦è¯·è¾å ¥1+å车
echo 设å®æ¶é´ç¹å ³æºâ¦â¦â¦â¦â¦è¯·è¾å ¥2+å车
echo æ¾ç¤ºè®¡æ¶å ³æºâ¦â¦â¦â¦â¦â¦è¯·è¾å ¥3+å车
echo 设å®æ¯å¤©å ³æºâ¦â¦â¦â¦â¦â¦è¯·è¾å ¥4+å车
echo åæ¶ç³»ç»å ³æºâ¦â¦â¦â¦â¦â¦è¯·è¾å ¥5+å车
echo éåºâ¦â¦â¦â¦â¦â¦â¦â¦â¦â¦è¯·è¾å ¥6+å车
ã ã第äºæ¥:
è¾å ¥å®æ¯å,ä¿åæ件,å¨"ä¿å"对è¯æ¡ä¸å°"ä¿åç±»å"éæ©ä¸º"æææ件",æ件å为"èªå¨å ³æºç¨åº.bat"å³å¯.
ã ã第ä¸æ¥:
ççè¿ä¸ªç¨åºçåç¼åæ¯batç,èä¸å¾æ ä¹å¾å,ä¸è¦æ¥,æ们å¯ä»¥ç¨WinRAR3.0以ä¸çæ¬å°è¿ä¸ªæ¹å¤çæ件åæä¸ä¸ªexeæ件,æ¹æ³å¦ä¸:
å¦æä½ çç³»ç»æªå®è£ WinRAR请å å®è£
éæ©"èªå¨å ³æºç¨åº.bat",å¨å³é®èåä¸éæ©"æ·»å å°æ¡£æ¡æ件(A)â¦"
å¨"å缩é项"ä¸éæ©"å建èªéæ¾æ ¼å¼æ¡£æ¡æ件"
åå»"é«çº§"æ ç¾,åå»"SFXé项",æå¼"é«çº§èªéæ¾é项"å¨"常è§"é项å¡ä¸"éæ¾åè¿è¡"å è¾å ¥å缩çæ件å"èªå¨å ³æºç¨åº.bat"
åå»"模å¼"æ ç¾,éæ©"解å å°ä¸´æ¶æ件夹",å¨ç¼é»æ¨¡å¼"å éæ©"å ¨é¨éè",å¨"è¦çæ¹å¼"å éæ©"è¦çæææ件"
å¦ææ¨è¦æ´æ¹é»è®¤çå¾æ ,å¯ä»¥æå¼"ææ¬åå¾æ "æ ç¾,å¨"èªå®ä¹SFXæ件å¾æ "ç"ä»æä»¶è½½å ¥SFXå¾æ "ä¸ç.ææ¬æ¡ä¸è¾å ¥ææµè§æ¨å欢çå¾æ æå¨è·¯å¾.å¦æä½ æ²¡æåå¤å¾æ ,å¯ä»¥æå¼ç³»ç»æå¨çå,使ç¨æç´¢,å¨æç´¢æ件åå è¾å ¥"*.ico"å°±å¯ä»¥æ¾å°å¾å¤å¾æ äºï¼ææ¾å°çå¾æ è·¯å¾åæ件åè¾å ¥ææ¬æ¡å³å¯.
ä¾æ¬¡ç¡®å®å,å³å¨åæ件夹å å¤äºä¸ä¸ª"èªå¨å ³æºç¨åº.exe"çæ件äº,大åç°å·²é æå¦!
虽然大家学过了一些Windows的命令,但用批处理来与用户交互并实现自动关机可能还没有试过吧.自己做一个关机程序,感觉可不一样.下面我们就利用Windows 的批处理脚本,来实现自动关机的功能,程序不算复杂,功能可一点都不少哦!本程序在Windows xp/2000/2003环境下测试通过. 第一步: 打开记事本,输入下面的文字(以rem开头的语句是注释,可以不必输入). 复制代码 代码如下:@echo off title 自动关机程序 作者:青剑 rem 这里改成你的名字好了 color 17 rem 如果你不喜欢命令行默认的黑底白字模式,可以用color命令进行更改,上面"17"代表蓝底白字. :start echo. echo. echo 请选择要进行的 *** 作,然后按回车: echo. echo 1. 定时关机 echo 2. 倒计时关机 echo 3. 删除定时关机任务 echo 4. 查看定时关机任务状态 echo 5. 注销 echo 6. 退出 echo. :set SET a= SET /P a=选择: rem 设定变量"a"为用户输入的字符 IF NOT '%a%'=='' SET a=%a:~0,1% ECHO. IF /I '%a%'=='1' goto 1 IF /I '%a%'=='2' goto 2 IF /I '%a%'=='3' goto 3 IF /I '%a%'=='4' goto 4 IF /I '%a%'=='5' goto 5 IF /I '%a%'=='6' goto 6 rem 如果输入的字符不是1-6,将返回重新输入 echo %a% 选择无效,请重新输入: echo. goto set :1 echo 请输入关机时间,(如12:00:00) set shutdowntime= set /p shutdowntime= at %shutdowntime% tsshutdn 0 /delay:0 /powerdown >nul IF not errorlevel 1 goto ok rem 如果输入正确,就执行:ok后面的语句 echo %shutdowntime% 不是标准的时间格式,请重新输入 echo. goto 1 :ok echo. echo 设定完毕! 按任意键继续... pause >nul cls goto start :2 echo 您想要多少秒后关机 echo (若设定后要取消,单击"确定"后按Ctrl+C键两次) set timed= set /p timed=输入: tsshutdn %timed% /delay:0 /powerdown >nul IF not errorlevel 1 goto ok echo %timed% 是无效的关机时间,请重新输入 echo. goto 2 :3 at /del /y echo 定时关机任务已取消,按任意键继续... pause >nul cls goto start :4 at echo 按任意键继续... pause >nul cls goto start :5 logoff :6 exit 第二步: 输入完毕后,保存文件,在"保存"对话框中将"保存类型"选择为"所有文件",文件名为"自动关机程序.bat"即可. 第三步: 看看这个程序的后缀名是bat的,而且图标也很土,不要急,我们可以用WinRAR3.0以上版本将这个批处理文件做成一个exe文件,方法如下: 如果你的系统未安装WinRAR请先安装 选择"自动关机程序.bat",在右键菜单中选择"添加到档案文件(A)…" 在"压缩选项"中选择"创建自释放格式档案文件" 单击"高级"标签,单击"SFX选项",打开"高级自释放选项"在"常规"选项卡中"释放后运行"内输入压缩的文件名"自动关机程序.bat" 单击"模式"标签,选择"解包到临时文件夹",在缄默模式"内选择"全部隐藏",在"覆盖方式"内选择"覆盖所有文件" 如果您要更改默认的图标,可以打开"文本和图标"标签,在"自定义SFX文件图标"的"从文件载入SFX图标"下的文本框中输入或浏览您喜欢的图标所在路径.如果你没有准备图标,可以打开系统所在盘后,使用搜索,在搜索文件名内输入"*.ico"就可以找到很多图标了,把找到的图标路径和文件名输入文本框即可. 依次确定后,即在原文件夹内多了一个"自动关机程序.exe"的文件了,大功现已造成啦!以下是一条可以实现检测电脑开机时间,并且在满足要求时自动关机的批处理代码:@echo off
setlocal enabledelayedexpansion
REM 设置需要检测的开机时间,单位为分钟
set shutdownTime=60
REM 获取系统当前时间并计算开机时间
for /f "tokens=3,4 delims=: "i in ('uptime ^| find "days"') do (
set days=i
set upTime=j
)
REM 去除字符串前导零
set /a upTimeupTimeREM 计算开机时间,单位为分钟
set /a totalUpTime=(days * 60 * 24) +upTimeREM 判断是否超过规定的开机时间
iftotalUpTime GTRshutdownTime (
REM 如果超过规定的开机时间,则关机
shutdown -s
) else (
REM 如果未超过规定的开机时间,则输出提示信息
echo 未满足自动关机条件,请继续使用计算机。
)
endlocal
在这条批处理代码中,我们使用了uptime命令来获取电脑的开机时间,并计算了开机的总时间。通过比较开机时间和预设的规定时间,来判断是否需要自动关机。如果未满足自动关机条件,则输出提示信息,如果满足条件则关机。注意,这里的单位是分钟,需要根据实际情况进行修改。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)