如何在批处理文件上设置到期日期

时间:2018-11-28 16:35:22

标签: batch-file

我有一个包含以下代码的批处理文件:

@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日运行

如何在此代码上设置到期日期?

2 个答案:

答案 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")
)

也请检查https://social.technet.microsoft.com/Forums/scriptcenter/en-US/14804d47-5887-4119-a9fd-167d2a14df53/set-a-batch-file-expiration-date?forum=ITCG

希望这会有所帮助!

相关问题