不过看你这么问应该不知道at 或者 schtasks命令,建议直接用计划任务,如果你是win8以下的话,可以试试下面这段,当然需要你自己写处理文件。
… … 【 … 华 … 丽 … 分 … 界 … 线】 … … …
@echo off&title 设置定时计划
color 8F
:yn0
echo 选择
echo 【A】设置定时计划
echo 【B】显示定时计划
echo 【C】取消定时计划
echo 【D】退出
set /p yn=请输入选择后回车确认:
echo 您输入为"%yn%"。
ping 0 -n "2">nul
if /i "%yn%"=="A" goto yn1
if /i "%yn%"=="B" goto yn2
if /i "%yn%"=="C" goto yn3
if /i "%yn%"=="D" goto :eof
goto note1
:note1
echo ---------------------
echo 别闹,请输入A、B、C或D
echo.
set /p yn=请输入选择后回车确认:
if /i "%yn%"=="A" goto yn1
if /i "%yn%"=="B" goto yn1
if /i "%yn%"=="C" goto yn1
if /i "%yn%"=="D" goto :eof
goto note1
:yn1
echo 【A】设置定时计划
echo 【1】 at 12:31 do ( ping 127.1 -t) ::此处输入说明1
echo 【2】 at 12:32 do ( ping 127.1 -t) ::此处输入说明2
echo 【3】 at 12:33 do ( ping 127.1 -t) ::此处输入说明3
echo 【0】 返回菜单
set /p y1=请输入选择后回车确认:
if /i "%y1%"=="1" at 12:31 ping 127.1 -t ::此处输入at命令1
if /i "%y1%"=="2" at 12:32 ping 127.1 -t ::此处输入at命令2
if /i "%y1%"=="3" ping 127.1 -t::此处输入at命令3
if /i "%y1%"=="0" goto yn0
:yn2
atq
pause
goto yn0
:yn3
echo 输入需要删除的任务编号 按【0】 返回菜单
set /枝锋p yn3=请输入选择后羡物回车兄搭液确认:
if /i "%y3%"=="0" goto yn0
atrm %y3% ::删除计划任务1
goto yn0
… … 【 … 华 … 丽 … 分 … 界 … 线】 … … …
大概就这样,核心内容是 yn1 那一段,win10 不能用at,请对应替换为schtasks命令。
如【schtasks /create /tn "task01" /tr "cmd /c ping 127.1 -t” /sc daily /st 12:31】
不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记慎唯事本汪厅,另存为困孝隐xx.bat,编码选ANSI/*&cls&echo off
rem 间歇性重启/重新运行一个指定bat
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
set sleep=3600
set "file=C:\Users\Administrator\Desktop\xxx.bat"
if not exist "%file%" (echo"%file%" 未找到&pause&exit)
type "%~f0"|cscript -nologo -e:jscript "%~f0">"%tmp%\v.v"
:loop
for /f "delims=" %%a in ("%file%") do (
cd /d "%%~dpa"
start "" "%%~nxa"
set "name=%%~nxa"
)
timeout /t %sleep% /nobreak
for /f %%a in ('cscript -nologo -e:vbscript "%tmp%\v.v" "%~0" "%name%"') do taskkill /f /pid %%a /t
goto loop
pause
exit
*/
var text=WSH.StdIn.ReadAll()
var vbs=text.match(/\/\*\r\n([\s\S]+)\*\/\s*$/)
WSH.echo(vbs[1])
/*
Set wmi=GetObject("winmgmts://./root/CIMV2")
Set query=wmi.ExecQuery(StrReverse("=emaN erehW ssecorP_23niW morf * tceleS") &"'cmd.exe'")
For Each q In query
If InStr(1,q.CommandLine,WSH.Arguments(0),1) = 0 Then
If InStr(1,q.CommandLine,WSH.Arguments(1),1) >0 Then
WSH.echo q.ProcessId
End If
End If
Next
*/
一个就够了,添加到启动项.有窗口.动态显示时间.按任意键取消.如果你不想看到系统d出的那个关机对话框的话我派宽坦可以把它去掉.@echo off
if not "%~1"=="" goto %~1
at 23:20 /interactive "%~0" shutdown
exit
:shutdown
start "" /b %0 cancle
color b
mode con: cols=45 lines=25
set "t=120"尘桐
title 定时自动关机程序
echo wscript.sleep 5000>sleep.vbs
start "" /b shutdown.exe -s -t 120
:show
cls
echo.
echo. =============================
echo. 定时自动关机程序
echo. =============================
echo. --------------------------------------------
echo. 系统将在%t%秒后巧雹关机,请保存所有工作然后退出....
echo. --------------------------------------------
echo. 或者按任意键取消关机....
sleep.vbs
set /a t-=5
if %t% geq 0 goto show
exit
:cancle
pause>nul
shutdown.exe -a
del sleep.vbs
exit
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)