É possível executar uma tarefa no último dia do mês usando o taskmgr?

3

Percebi que você só pode definir o dia do mês como um número positivo 1..31 na GUI da tarefa agendada no Windows (Windows Server 2003).

É possível executar uma tarefa apenas no último dia do mês? (Este não é um número de dia fixo, por exemplo, em fevereiro, pode ser o dia 28 ou 29 do mês e, em outros meses, pode ser o dia 30 ou 31).

Pergunta relacionada: se eu definir uma tarefa para ser executada no dia 31 de cada mês, ela será executada em meses com menos dias? Ou será executado no dia 1 do próximo mês em tais casos?

    
por Tobi 25.06.2009 / 11:40

3 respostas

4

Crie a tarefa usando os schtasks comando com a opção /mo LASTDAY :

schtasks schedules commands and programs to run periodically or at a specific time. Adds and removes tasks from the schedule, starts and stops tasks on demand, and displays and changes scheduled tasks.

Sintaxe:

schtasks /create /tn TaskName /tr TaskRun /sc schedule [/mo modifier]
         [/d day] [/m month[,month...] [/i IdleTime] [/st StartTime] 
         [/sd StartDate] [/ed EndDate] [/s computer [/u 
         [domain\]user /p password]] 
         [/ru {[Domain\]User | "System"} [/rp Password]] /? 
    
por 25.06.2009 / 11:55
1

Não tenho certeza se a GUI oferece suporte nativo, mas você pode começar a tarefa para iniciar um script vbs ou algo assim antes. Algo como:

sub LastDateOfCurMonth () dim lstDateCurMonth, fstDateCurMonth, fstDateNxtMonth        fstDateCurMonth="01 /" & Mês (data) & "/" & Ano (data)        fstDateNxtMonth = DateAdd ("m", 1, fstDateCurMonth)        lstDateCurMonth = DateAdd ("d", - 1, fstDateNxtMonth)        wscript.echo "A última data do mês atual é:" & lstDateCurMonth End Sub

    
por 25.06.2009 / 11:47
0

Configure vários agendamentos para a mesma tarefa. Um cronograma para meses que terminam no dia 31, um para meses que terminam no dia 30 e outro para o dia 28. Tudo o que você precisa fazer é dar a cada tarefa um nome exclusivo.

    
por 23.01.2014 / 16:38