at
Aplica-se a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 e Windows Server 2012
Agenda comandos e programas a serem executados em um computador em uma data e hora determinadas. Você só pode usar o at quando o serviço Agendar estiver em execução. Usado sem parâmetros, at lista comandos agendados. Você deve ser um membro do grupo Administradores local para executar este comando.
Sintaxe
at [\computername] [[id] [/delete] | /delete [/yes]]
at [\computername] <time> [/interactive] [/every:date[,...] | /next:date[,...]] <command>
Parâmetros
Parâmetro | Descrição |
---|---|
\<computername\> |
Especifica um computador remoto. Se você omitir esse parâmetro, o comando at agenda os comandos e programas no computador local. |
<id> |
Especifica o número de identificação atribuído a um comando agendado. |
/delete | Cancela um comando agendado. Caso omita a ID, todos os comandos agendados no computador serão cancelados. |
/sim | Responde sim a todas as consultas do sistema ao excluir eventos agendados. |
<time> |
Especifica a hora em que queira executar o comando. tempo é expresso como Horas:Minutos em notação de 24 horas (ou seja, 00:00 (meia-noite) a 23:59). |
Interativo | Permite que o comando interaja com a área de trabalho do usuário que está conectado no momento em que o Comando é executado. |
a cada: | Executa o comando em cada dia ou dias especificados da semana ou mês (por exemplo, todas as quintas-feiras ou o terceiro dia de cada mês). |
<date> |
Especifica a data em que queira executar o comando. Especifique um ou mais dias da semana (ou seja, digite M,T,W,Th,F,S,Su) ou um ou mais dias do mês (ou seja, digite 1 a 31). Separe várias entradas de data com vírgulas. Caso omita a data, o comando at usará o dia atual do mês. |
próximo: | Executa o comando na próxima ocorrência do dia (por exemplo, na próxima quinta-feira). |
<command> |
Especifica o comando do Windows, o programa (ou seja, o arquivo .exe ou .com) ou o programa em lotes (ou seja, .bat ou arquivo .cmd) o qual queira executar. Quando o comando exigir um caminho como argumento, use o caminho absoluto (ou seja, todo o caminho começando com a letra da unidade). Se o comando estiver em um computador remoto, especifique a notação UNC (Convenção Universal de Nomenclatura) para o servidor e o nome do compartilhamento, em vez de uma letra de unidade remota. |
/? | Exibe a ajuda no prompt de comando. |
Comentários
Esse comando não carrega automaticamente cmd.exe antes de executar comandos. Caso não esteja executando um arquivo executável (.exe), será necessário carregar explicitamente o cmd.exe no início do comando da seguinte maneira:
cmd /c dir > c:\test.out
Caso esteja usando esse comando sem opções de linha de comando, as tarefas agendadas aparecerão em uma tabela formatada de forma semelhante à seguinte:
Status ID Day time Command Line OK 1 Each F 4:30 PM net send group leads status due OK 2 Each M 12:00 AM chkstor > check.file OK 3 Each F 11:59 PM backup2.bat
Se incluir um número de identificação (ID) com esse comando, somente as informações de uma única entrada aparecerão em um formato semelhante ao seguinte:
Task ID: 1 Status: OK Schedule: Each F Time of Day: 4:30 PM Command: net send group leads status due
Depois de agendar um comando, especialmente um comando que tenha opções de linha de comando, verifique se a sintaxe do comando está correta digitando at sem nenhuma opção de linha de comando. Se as informações na coluna Linha de Comando estiverem erradas, exclua o comando e digite-o novamente. Se ainda estiver incorreto, digite novamente o comando usando menos opções de linha de comando.
Comandos agendados com o at em execução como processos em segundo plano. A saída não é exibida na tela do computador. Para redirecionar a saída para um arquivo, use o símbolo
>
de redirecionamento. Caso redirecione a saída para um arquivo, precisará usar o símbolo^
de escape antes do símbolo de redirecionamento, seja usando o at na linha de comando ou em um arquivo em lote. Por exemplo, para redirecionar a saída para output.txt, digite:at 14:45 c:\test.bat ^>c:\output.txt
O diretório atual para o comando em execução é a pasta systemroot.
Caso altere a hora do sistema depois de agendar um comando para ser executado, sincronize o at no agendador com a hora revisada do sistema digitando at sem opções de linha de comando.
Os comandos agendados são armazenados no registro. Como resultado, você não perderá tarefas agendadas se reiniciar o serviço agendamento.
Não use uma unidade redirecionada para trabalhos agendados que acessam a rede. O serviço Agendar pode não conseguir acessar a unidade redirecionada ou a unidade redirecionada pode não estar presente se um usuário diferente estiver conectado no momento em que a tarefa agendada for executada. Em vez disso, use caminhos UNC para trabalhos agendados. Por exemplo:
at 1:00pm my_backup \\server\share
Não use a seguinte sintaxe, em que x: é uma conexão feita pelo usuário:
at 1:00pm my_backup x:
Caso agende um comando at que usa uma letra da unidade para se conectar a um diretório compartilhado, inclua um comando at para desconectar a unidade quando terminar de usar a unidade. Se a unidade não estiver desconectada, a letra da unidade atribuída não estará disponível no prompt de comando.
Por padrão, as tarefas agendadas usando esse comando serão interrompidas após 72 horas. Modifique o registro para alterar esse valor padrão.
Para modificar o registro
Cuidado
A edição incorreta do Registro pode causar danos graves ao sistema. Antes de alterar o Registro, faça backup de todos os dados importantes do computador.
Inicie o editor do Registro (regedit.exe).
Localize e selecione na seguinte chave no Registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Schedule
No menu Editar, selecione Adicionar Valor e adicione os seguintes valores de registro:
Nome do valor. atTaskMaxHours
Tipo de dados. reg_DWOrd
Radix. Decimal
Dados de valor: 0. Um valor de 0 no campo Dados de Valor indica que não há limite e não é interrompido. Valores de 1 a 99 indicam o número de horas.
Use a pasta Tarefas Agendadas para exibir ou modificar as configurações de uma tarefa que foi criada usando este comando. Ao agendar uma tarefa usando esse comando, a tarefa é listada na pasta Tarefas Agendadas, com um nome como o seguinte:at3478. No entanto, caso modifique uma tarefa por meio da pasta Tarefas Agendadas, ela será atualizada para uma tarefa agendada normal. A tarefa não está mais visível para o comando at e a configuração na conta não se aplica mais a ela. Insira explicitamente uma conta de usuário e uma senha para a tarefa.
Exemplos
Para exibir uma lista de comandos agendados no servidor de Marketing, digite:
at \\marketing
Para saber mais sobre um comando com o número de identificação 3 no servidor Corp, digite:
at \\corp 3
Para agendar um comando de compartilhamento de rede a ser executado no servidor Corp às 8h e redirecionar a listagem para o servidor de Manutenção, no diretório compartilhado Relatórios e no arquivo Corp.txt, digite:
at \\corp 08:00 cmd /c net share reports=d:\marketing\reports >> \\maintenance\reports\corp.txt
Para fazer backup do disco rígido do servidor de Marketing em uma unidade de fita à meia-noite a cada cinco dias, crie um programa em lote chamado Archive.cmd, que contém os comandos de backup e agende o programa em lote para ser executado, digite:
at \\marketing 00:00 /every:5,10,15,20,25,30 archive
Para cancelar todos os comandos agendados no servidor atual, desmarque as informações de agendamento do at da seguinte maneira:
at /delete
Para executar um comando que não seja um arquivo executável (.exe), preceda o comando com cmd /c para carregar cmd.exe da seguinte maneira:
cmd /c dir > c:\test.out
Links relacionados
schtasks. Outra ferramenta de agendamento de linha de comando.