- Windows commands
- Prerequisites
- Command shell overview
- Command-line reference A-Z
- Использование команды at для расписания задач
- Аннотация
- Обзор команды
- Создание запланированного задания
- Примеры
- Отмена запланированной задачи
- Примеры отмены запланированных задач
- Просмотр запланированных задач
- Примеры просмотра запланированных задач
- Устранение неполадок
- Ссылки
- Windows at command examples
- Schedule a task at a particular time
- Schedule a Recurrent Task
- See the tasks scheduled
- Schedule a task on some other day
- Schedule tasks to run every day
- Delete Scheduled Tasks
Windows commands
All supported versions of Windows (server and client) have a set of Win32 console commands built in.
This set of documentation describes the Windows Commands you can use to automate tasks by using scripts or scripting tools.
Prerequisites
The information that is contained in this topic applies to:
- Windows Server 2019
- Windows Server (Semi-Annual Channel)
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2
- Windows Server 2008
- Windows 10
- Windows 8.1
Command shell overview
The Command shell was the first shell built into Windows to automate routine tasks, like user account management or nightly backups, with batch (.bat) files. With Windows Script Host you could run more sophisticated scripts in the Command shell. For more information, see cscript or wscript. You can perform operations more efficiently by using scripts than you can by using the user interface. Scripts accept all Commands that are available at the command line.
Windows has two command shells: The Command shell and PowerShell. Each shell is a software program that provides direct communication between you and the operating system or application, providing an environment to automate IT operations.
PowerShell was designed to extend the capabilities of the Command shell to run PowerShell commands called cmdlets. Cmdlets are similar to Windows Commands but provide a more extensible scripting language. You can run Windows Commands and PowerShell cmdlets in Powershell, but the Command shell can only run Windows Commands and not PowerShell cmdlets.
For the most robust, up-to-date Windows automation, we recommend using PowerShell instead of Windows Commands or Windows Script Host for Windows automation.
You can also download and install PowerShell Core, the open source version of PowerShell.
Incorrectly editing the registry may severely damage your system. Before making the following changes to the registry, you should back up any valued data on the computer.
To enable or disable file and directory name completion in the Command shell on a computer or user logon session, run regedit.exe and set the following reg_DWOrd value:
To set the reg_DWOrd value, use the hexadecimal value of a control character for a particular function (for example, 0 9 is Tab and 0 08 is Backspace). User-specified settings take precedence over computer settings, and command-line options take precedence over registry settings.
Command-line reference A-Z
To find information about a specific command, in the following A-Z menu, click the letter that the command starts with, and then click the command name.
Использование команды at для расписания задач
В этой статье описывается, как использовать команду для создания и отмены запланированных задач.
Исходная версия продукта: Windows 2000
Исходный номер КБ: 313565
Эта статья относится к Windows 2000. Поддержка Windows 2000 заканчивается 13 июля 2010 г. Дополнительные сведения см. в политике жизненного циклаподдержки Майкрософт.
Аннотация
В Windows 2000 для расписания задач можно использовать средство планивщика заданий в панели управления. Эту команду также можно использовать для расписания задач вручную.
Обзор команды
С помощью этой команды можно запланировать запуск команды, сценария или программы в заданную дату и время. Эту команду также можно использовать для просмотра существующих запланированных задач.
Чтобы использовать эту команду, должна быть запущена служба планировщика задач, и вы должны войти в систему как участник локальной группы администраторов. При использовании команды для создания задач необходимо настроить задачи так, чтобы они запускались в одной учетной записи пользователя.
Команда использует следующий синтаксис:
at \\computername time/interactive | /every: date, . /next: date, . command
at \\computername id/delete | /delete /yes
В следующем списке описываются параметры, которые можно использовать с командой:
\ имя компьютера: используйте этот параметр, чтобы указать удаленный компьютер. Если этот параметр не задан, задачи будут выполняться на локальном компьютере.
time: используйте этот параметр, чтобы указать время запуска задачи. Время определяется как часы: минуты на основе 24-часового времени. Например, 0:00 представляет полночь, а 20:30 — 20:30.
/interactive: используйте этот параметр, чтобы разрешить задаче взаимодействовать с рабочим столом пользователя, во время работы которого она вошел в систему.
/every: date. : используйте этот параметр, чтобы запланировать запуск задачи в указанный день или дни недели или месяца, например каждую пятницу или восьмую дату каждого месяца. Укажите дату как один или несколько дней недели (используйте следующие сокращения: M,T,W,Th,F,S,Su) или один или несколько дней месяца (используйте числа от 1 до 31). Убедитесь, что для разных записей даты используются запятые. Если этот параметр не задан, задача будет запланирована на текущий день.
/next: date, . Используйте этот параметр, чтобы запланировать запуск задачи в следующий день (например, следующий понедельник). Укажите дату как один или несколько дней недели (используйте следующие сокращения: M,T,W,Th,F,S,Su) или один или несколько дней месяца (используйте числа от 1 до 31). Убедитесь, что для раздельного использования нескольких записей даты используются запятые. Если этот параметр не задан, задача будет запланирована на текущий день.
команда: используйте этот параметр, чтобы указать команду Windows 2000, программу (EXE-файл или файл .com) или пакетную программу (файл BAT или CMD), которую требуется запустить. Если для команды в качестве аргумента требуется путь, используйте абсолютное имя пути (весь путь начинается с буквы диска). Если команда находится на удаленном компьютере, используйте имя пути UNC \ (ServerName \ ShareName). Если команда не является исполняемым файлом (EXE-файлом), необходимо перед cmd /c командой, например, cmd /c copy C:\*.* C:\temp .
id: используйте этот параметр, чтобы указать идентификационный номер, который назначен запланированной задаче.
/delete: используйте этот параметр для отмены запланированной задачи. Если опустить параметр id, все запланированные задачи на компьютере будут отменены.
/yes: используйте этот параметр, чтобы принудительно дать да на все запросы из системы при отмене запланированных задач. Если этот параметр не задан, вам будет предложено подтвердить отмену задачи.
При использовании команды запланированная задача будет запускаться с использованием учетных данных системной учетной записи.
Создание запланированного задания
Нажмите кнопку«Начните», выберите «Программы»,«Найдите «Дополнительные», а затем нажмите кнопку «Командная подсказка».
В командной области введите команду и нажмите ввод, чтобы отобразить список net start запущенных в настоящее время служб:
Если планщик задач не отображается в списке, введите следующую строку и нажмите ввод:
В командной строке введите следующую строку (используйте соответствующие ситуации параметры) и нажмите ввод:
Примеры
Чтобы скопировать все файлы из папки «Документы» в папку MyDocs в полночь, введите следующую строку и нажмите ввод:
Для этого необходимо 11:00 11:00. Каждый день недели создавайте пакетный файл, содержащий команды резервного копирования (например, Backup.bat), введите следующую строку и нажмите ввод, чтобы запланировать резервное копирование:
Чтобы запланировать запуск команды net share на сервере продаж в 6:00 чтобы перенаправить описание в файл Sales.txt в общей папке «Отчеты» на сервере Corp, введите следующую строку и нажмите ввод:
Отмена запланированной задачи
Нажмите кнопку«Начните», выберите «Программы»,«Найдите «Дополнительные», а затем нажмите кнопку «Командная подсказка».
В командной подсказке введите команду и нажмите ввод, чтобы отобразить список net start запущенных в настоящее время служб.
Если планщик задач не отображается в списке, введите следующую строку и нажмите ввод:
В командной строке введите следующую строку (используйте соответствующие ситуации параметры) и нажмите ввод:
Примеры отмены запланированных задач
- Чтобы отменить все задачи, запланированные на локальном компьютере, введите at /delete и нажмите ввод.
- Чтобы отменить задачу с именем 8 на компьютере с именем MyServer, введите at \\MyServer 8 /delete и нажмите ввод.
Просмотр запланированных задач
Чтобы просмотреть задачи, созданные с помощью команды, выполните следующие действия:
Нажмите кнопку«Начните», выберите «Программы»,«Найдите «Дополнительные», а затем нажмите кнопку «Командная подсказка».
В командной подсказке введите команду и нажмите ввод, чтобы отобразить список net start запущенных в настоящее время служб.
Если планщик задач не отображается в списке, введите следующую строку и нажмите ввод:
В командной области сделайте одно из следующих действий:
- Чтобы просмотреть список задач, запланированных с помощью команды, введите строку at \\computername и нажмите ввод.
- Чтобы просмотреть определенную запланированную задачу, введите at \\computername id команду и нажмите ввод.
Примеры просмотра запланированных задач
- Чтобы просмотреть все запланированные задачи на локальном компьютере, введите at и нажмите ввод.
- Чтобы просмотреть все запланированные задачи на компьютере с именем «Поддержка», введите at \\support и нажмите ввод.
- Чтобы просмотреть задачу с ид 18 на локальном компьютере, введите at 18 и нажмите ввод.
Устранение неполадок
При введите для просмотра списка запланированных задач некоторые (или все) запланированные задачи, созданные с помощью команды, не будут at \\computername перечислены.
Это может произойти, если вы изменили задачи в папке «Запланированные задачи» после использования команды для создания задачи. При использовании команды при расписании задачи она отображается в папке «Запланированные задачи» панели управления. Задачу можно просмотреть или изменить. Однако при изменении задачи при использовании команды ее нельзя просмотреть.
При использовании указанной команды для расписания задачи задача не будет запускаться в указанное время или дату.
Такое поведение может произойти, если верно одно из следующих условий:
Синтаксис команды неправильный.
После расписания задачи введите, чтобы подтвердить правильность at \\computername синтаксиса. Если информация, отображаемая в командной строке, неправильная, отмените задачу, а затем воссоздаем ее.
Задание запланировать на запуск команды, которая не является EXE-файлом.
Перед запуском команд команда не загружает командный командный автомат (интерпретатор команды). Если вы не работаете с EXE-файлом, необходимо загрузить Cmd.exe в начале команды, например at cmd /c dir > c:\test.txt .
Ссылки
Дополнительные сведения об использовании команды at в Windows 2000 см. в справке windows 2000. Для этого нажмите кнопку «Начните», выберите «Справка», щелкните вкладку «Индекс» и введите команду.
Windows at command examples
At command, as the name indicates, can be used to schedule applications at specified time and date. This is a built-in command in Windows OS and does not require any separate software to be installed on the computer.
First thing you need to know is that At command requires Task Scheduler service to be running on the system. Otherwise you would get an error like below.
Let’s see few examples on how to use At command.
Schedule a task at a particular time
To schedule a task we just need to specify the time and the command for the task we need to run. For example, if you want to shutdown your computer at 11PM today then you can do this by running the below command.
Schedule a Recurrent Task
We can schedule tasks that run recurrently once in a week or once in a month. We can use /every switch for this purpose. Let’s say you want to automatically run defragmentation on one of the drives once in every week. This can be done by running the below command
After running this command system will initiate defragmentation on C: drive at 10 AM on every Monday.
See the tasks scheduled
We can see the list of scheduled tasks just by running At command without any parameters.
Schedule a task on some other day
We can use /next switch to schedule tasks for a different day. For example to run defragmentation on C: drive on next Thursday you can run the below command.
Schedule tasks to run every day
Using /every switch we can schedule a task to be run every day. For example to shutdown your computer automatically every day at 11PM you can create a task using the below command.
Delete Scheduled Tasks
We can delete scheduled tasks from the database by using /delete switch. We need to pass the id of the task we need to delete. We can see the id for each task by running At command without any parameters. For example to delete the task with the id 1 we need to run the below command.
I’m not sure if it’s related to the topic but I’ll ask anyway.
I need to get the exact location of a process name that a scheduled job is executing. I want to use WMIC JOB (if you have any other suggestions.. let me know) to get that, but I don’t know HOW exactly. I’ve tried several variations but no luck so far.
How should I do that?
I thought of direction like-
wmic job where name=”at2″ get command /value
but no luck.
Thanks in advance.
If it’s not the place to ask, tell me where can I ask.
BTW thanks for the article 🙂
I have tried this wmic command. It seems to be showing the jobs that are scheduled using at command. For the ones scheduled using the GUI task scheduler, it’s not showing any data and displays the message ‘No instance(s) available’.
You can try this command to get the command information.
wmic job where jobid=id get command
I have observed that name field is empty for the jobs scheduled using ‘at’. So you better use the job id. Or running ‘wmic job get command’ will show the commands for all the jobs currently running.
Why jobid=2? How can you be sure?
I want to know the command of a specific job that is not nessecerily running RIGHT NOW. I need it to check for every job exists.
wmic job get command shows “No Instance(s) Available”.
Same at “wmic job where jobid=2 get command”.
Thanks.
BTW Is that a new site running?
I have used 2 just as an example, you need to use the id of your job.
if you want to get it for every job, as I mentioned earlier, run the below command.
wmic job get command
Note that you need to run this from elevated administrator command prompt. otherwise you may get ‘no instance(s) available’ message.
How can I know the jobid? Problem is that I can’t know it (or am I wrong?).
The only thing I can know is the job’s name (‘at2’ for example). The WMIC JOB command need to be based on that.
I’ve tried as administrator (although UAC is disabled), same =\
wmic job shows the jobs that are running at that time.
you can get the job list using at command.
Oh.. so you mean I can forget about WMIC for what I need?
I’ve tried typing only ‘at’ command, all I got is “There are no entries in the list”, while I do have one (named at3). Even if I’ll manage to see the list, is there a way to get somehow only the command itself? (the process name)
I’d be glad for some answers 🙂
Thanks.
My previous replies have the answers.
First use at command to get the job id. If at command doesn’t show it, get it from scheduled tasks UI
Then use the below command.
wmic job where jobid=id get command
As mentioned earlier, this command will work only if the scheduled job is running at that time.
Ha! I got it finally.
Somewhy I haven’t pay attention to what you said earlier “It (WMIC command) seems to be showing the jobs that are scheduled using at command”.
Now I can be 100% sure I won’t need it unfortunately.
Thank you! 🙂
I guess I won’t bother you again with dumb questions… 😛
how would you make it run on log in
kinda’ like:
at login /every:M,T,W,TH,F,SA,SU start iexplore.exe (or any .exe/.bat)
I used the AT command on my Windows 7 OS but it is giving me “access denied” error message.
Run it from elevated administrator command prompt.
disable UAC and should work
Is it possible when running the “AT” command, to add a job name? As in – whenever the scheduled task is created, it creates the task with a job name of “At1” or “At2”, etc. Is there a way to specify what the scheduled task might be called?
– Chris
This is very late, but for the benefit of others having the same question, ‘At’ command does not provide a way to tag the command with a specific id. When we schedule a new task, it automatically tags them with ids like’at1′, ‘at2’, ‘at3’ and so.
Unfortunately this command seems to be deprecated in W10, replaced with some ugly schtasks or something, too bad I really liked the syntax of this one,
How to delete AT1 ,at1 ,at3,at4 .. etc… with command line and leave other windows task running
I tried with schtasks /delete /tn * /F then my all windows task got deleted , I want only AT tasks needs to deleted