我有一个包含以下代码的批处理文件:
@ECHO off
START "" "C:\Program Files (x86)\Proxifier\Proxifier.exe"
timeout /t 5 >NUL
START "" "E:\Program Files (x86)\Epic Games\Launcher\Portal\Binaries\Win64\EpicGamesLauncher.exe"
timeout /t 65 >NUL
Taskkill /IM "Proxifier.exe" /F
Exit
我要为此批处理文件设置到期日期。
例如:程序不会在2018年11月30日运行
如何在此代码上设置到期日期?
答案 0 :(得分:2)
尝试一下。日期示例在IF
条件下以YYYYMMDD
格式使用(您可以设置自己的值):
@echo off
for /f "tokens=* delims=" %%a in ('wmic os get LocalDateTime /value') do for /f "tokens=* delims=" %%# in ("%%a") do set "%%#"
set "LocalDateTime=%LocalDateTime:~0,8%"
::echo %LocalDateTime%
:: EXPIRATION DATE ::
set "EXP_DATE=20181130"
:::::::::::::::::::::
if %LocalDateTime% GTR %EXP_DATE% (
echo this wont work anymore
exit /b
)
START "" "C:\Program Files (x86)\Proxifier\Proxifier.exe"
timeout /t 5 >NUL
START "" "E:\Program Files (x86)\Epic
Games\Launcher\Portal\Binaries\Win64\EpicGamesLauncher.exe"
timeout /t 65 >NUL
Taskkill /IM "Proxifier.exe" /F
Exit
答案 1 :(得分:0)
这很简单:
@echo off
set "expirationDate=30112018"
call:check_expire
if %var_return% EQU 0 (goto main_code) else (exit /b)
goto main_code
:main_code
START "" "C:\Program Files (x86)\Proxifier\Proxifier.exe"
timeout /t 5 >NUL
START "" "E:\Program Files (x86)\EpicGames\Launcher\Portal\Binaries\Win64\EpicGamesLauncher.exe"
timeout /t 65 >NUL
Taskkill /IM "Proxifier.exe" /F
pause
exit /b 0
:check_expire
for %%a in (%date%) do set dt=%%a
For /f "tokens=1-3 delims=/ " %%a in ('echo %dt%') do (
if "%expirationDate%" LEQ "%%a%%b%%c" (set "var_return=1") else (set "var_return=0")
)
希望这会有所帮助!