最近,我一直在构建一个相当小的批量编码,使用别人的VBS在后台运行。我一直试图让它做的是(在工作日,两次设置之间)打开一个名为" Homework.xlxs"(如果它还没有运行)的excel文件。然后我遇到了一个问题,因为我意识到我当前使用的方法没有检查指定的文件或该文件是否打开。这意味着我可以简单地摆弄Excel并让我的代码不按照我想要的方式运行。
这是我目前的代码:
@ECHO off
SET "stime=16:00:00.00"
SET "etime=17:00:00.00"
:start
FOR /F %%F IN ('wmic path win32_localtime get dayofweek^|Findstr [0-6]') DO SET DOW=%%F
tasklist /FI "IMAGENAME eq EXCEL.EXE" 2>NUL | find /I /N "EXCEL.EXE">NUL
if "%ERRORLEVEL%"=="0" (
SET "running=true"
) ELSE (
SET "running=false"
)
IF %time% GEQ %stime% IF %time% LEQ %etime% IF %running%==false IF %DOW% NEQ 6 IF %DOW% NEQ 0(
START /MAX C:\Users\Hunter\Desktop\Homework\Homework.xlsx
)
TIMEOUT 60 /NOBREAK > NUL
GOTO start