Arquivo em lote SE% time% não está funcionando

3

Estou tentando fazer um arquivo de lote para desligar PCs se eles forem usados fora dos horários permitidos. Ele será acionado na inicialização, mas como você não pode ter gatilhos 'if e' no Agendador de Tarefas do Windows, foi necessário criar a verificação de horário no script.

Eu usei o seguinte método, mas não está funcionando. Alguém sabe por quê?

IF "%TIME:~0,5%" GEQ "19:58" IF "%TIME:~0,5%" LSS "08:58" (MSG * "Your device has not been authorised for use at this time and will now shutdown." && SHUTDOWN -s -t 120)

    
por Raf 16.10.2016 / 15:07

1 resposta

3

Tente isto:

SET "ADJUSTEDTIME=%TIME: =0%"
IF "%ADJUSTEDTIME:~0,5%" GEQ "19:58" GOTO :SHUTDOWN  
IF "%ADJUSTEDTIME:~0,5%" LSS "08:58" GOTO :SHUTDOWN  
GOTO :EOF  
:SHUTDOWN  
MSG * "Your device has not been authorised for use at this time and will now shutdown."  
SHUTDOWN -s -t 120  
    
por 16.10.2016 / 15:56