由于早上起床时遇到的巨大问题,我决定编写一个在给定时间执行特定文件的批处理脚本。但是,当我让我的计算机空闲更长一段时间时,它不起作用,似乎循环本身不再循环了。
我不明白是什么原因导致它不工作,因为我的屏幕保护程序和CPU/HDD-sleep被关闭了。
代码如下:
echo OFF
@echo Set hour for alarm:
set /p hour=
@echo Set minute for alarm:
set /p minute=
@echo alarm will ring at %hour% : %minute%
:waitDay
for /f "tokens=5-8 delims=:. " %%a in ('echo/^|time') do (
set hh=%%a
)
IF %hh% GTR %hour% GOTO waitDay
:start
for /f "tokens=5-8 delims=:. " %%a in ('echo/^|time') do (
set hh=%%a&set nn=%%b&set ss=%%c&set cs=%%d
)
IF %hh% LSS %hour% GOTO start
IF %nn% LSS %minute% GOTO start
cd \d C:
cd \d C:\Users\Oted\Desktop\Stuff\
"alarm.xspf"如果有人能帮上忙,我很高兴,我用的是Windows 7。
发布于 2013-03-08 23:25:15
试试这个。
@ECHO OFF
setlocal
set /p exectime=Enter when you want the task to execute (HH:MM):
set batchfilelocation=C:\Users\Oted\Desktop\Stuff\alarm.xspf
SCHTASKS /create /SC DAILY /TN "WAKEUP" /TR "%batchfilelocation%" /S %computername%
pause
endlocal
REM /SC allows for the following frequency schedules:
REM MINUTE: 1 - 1439 minutes.
REM HOURLY: 1 - 23 hours.
REM DAILY: 1 - 365 days.
REM WEEKLY: weeks 1 - 52.
REM ONCE: No modifiers.
REM ONSTART: No modifiers.
REM ONLOGON: No modifiers.
REM ONIDLE: No modifiers.
REM MONTHLY: 1 - 12, or FIRST, SECOND, THIRD, FOURTH, LAST, LASTDAY.这是由一个朋友创建的,我只是编辑了它,使其与这种情况相关。
这将为您想要唤醒的任何时间创建一个计划任务。
最初由iesou创建
发布于 2012-11-29 23:34:18
我已经重写了你的脚本,所以它更容易阅读,我认为你遇到的问题是关于3条底线。
您放入\d而不是/d,这意味着它不会更改目录,因此尝试运行文件alarm.xspf将失败,因为它不在正确的文件夹中。
@echo off
set /p hour=Set hour for alarm:
set /p minute=Set minute for alarm:
echo Alarm will ring at %hour%:%minute%
:waitDay
for /f "tokens=1 delims=:" %%a in ("%time%") do (
set hh=%%a
)
if %hh% gtr %hour% goto :waitDay
:start
for /f "tokens=1 delims=:" %%a in ("%time%") do (
set hh=%%a
set mm=%%b
set ss=%%c
set ms=%%d
)
if %hh% lss %hour% goto :start
if %mm% lss %minute% goto :start
C:\Users\Oted\Desktop\Stuff\alarm.xspfhttps://stackoverflow.com/questions/13624341
复制相似问题