|
|
@@ -448,19 +448,25 @@ sub create_screen_cmd_loop
|
|
|
# Create batch file that will launch the process and store PID which will be used for killing later
|
|
|
open (SERV_START_BAT_SCRIPT, '>', $server_start_batfile);
|
|
|
|
|
|
- my $batch_server_command = ":TOP" . "\r\n";
|
|
|
+ my $batch_server_command = "\@echo off" . "\r\n"
|
|
|
+ . "setlocal EnableDelayedExpansion" . "\r\n"
|
|
|
+ . ":TOP" . "\r\n";
|
|
|
|
|
|
if(defined $envVars && $envVars ne ""){
|
|
|
$batch_server_command .= $envVars;
|
|
|
}
|
|
|
|
|
|
- $batch_server_command .= "set starttime=%time%" . "\r\n"
|
|
|
+ $batch_server_command .= "set STARTTIME=%time%" . "\r\n"
|
|
|
. "start " . $priority . " " . $affinity . " /wait " . $exec_cmd . "\r\n"
|
|
|
- . "set endtime=%time%" . "\r\n"
|
|
|
- . "set /a secs=%endtime:~6,2%" . "\r\n"
|
|
|
- . "set /a secs=%secs%-%starttime:~6,2%" . "\r\n"
|
|
|
+ . "set ENDTIME=%time%" . "\r\n"
|
|
|
+ . "set \"end=!ENDTIME:%time:~8,1%=%%100)*100+1!\" & set \"start=!STARTTIME:%time:~8,1%=%%100)*100+1!\"" . "\r\n"
|
|
|
+ . "set /A \"elap=((((10!end:%time:~2,1%=%%100)*60+1!%%100)-((((10!start:%time:~2,1%=%%100)*60+1!%%100)\"" . "\r\n"
|
|
|
+ . "set /A \"cc=elap%%100+100,elap/=100,ss=elap%%60+100,elap/=60,mm=elap%%60+100,hh=elap/60+100\"" . "\r\n"
|
|
|
+ . "set hour=%hh:~1%" . "\r\n"
|
|
|
+ . "set minute=%mm:~1%" . "\r\n"
|
|
|
+ . "set second=%ss:~1%" . "\r\n"
|
|
|
. "if exist SERVER_STOPPED exit" . "\r\n"
|
|
|
- . "if %secs% lss 15 exit" . "\r\n"
|
|
|
+ . "IF \"%hour%\" == \"00\" IF \"%minute%\" == \"00\" IF %second% lss 15 exit" . "\r\n"
|
|
|
. "goto TOP" . "\r\n";
|
|
|
|
|
|
print SERV_START_BAT_SCRIPT $batch_server_command;
|