Tenho um script que criou uma tarefa agendada para ser executada um minuto a partir do momento da criação, usando a linha do PowerShell (Get-Date).AddMinutes(1).ToString("HH:mm")
.
$Time = (Get-Date).AddMinutes(1).ToString("HH:mm")
schtasks /CREATE /S $env:computername /RU $env:username /SC ONCE /TN "!One_time_task" /TR !Task! /ST $Time
O problema é que preciso fazer o mesmo usando o CMD porque não posso usar o PowerShell para essa tarefa. Atualmente, tenho que editar explicitamente a linha para o horário desejado, sei time /t
que é o horário atual, há uma maneira de adicionar apenas um minuto facilmente?
Você pode usar
%time%
para obter o horário atual. Use extração de string para hora e minuto separadamente. Manipule o wrap de hora e dia.Cuidado com a
%time%
localização - você pode precisar adaptar o script dependendo do seu formato local. Se ele precisar rodar com localização variada, é necessário popular%ttime%
a partir do WMIC ou similar, como apontado no comentário de @phuclv.