Синтаксис
start [“заголовок“] [/dпуть] [
/i] [/min] [/max] [{/separate |
/shared}] [{/low | /normal | /high |
/realtime | /abovenormal | belownormal}] [/
wait] [/b] [имя_файла] [параметры]
Примеры
Чтобы отобразить назначенные задания на локальном компьютере
Следующие команды выводят на экран все задания, назначенные для локального компьютера. Эти
команды приводят к одному результату. Их можно использовать без изменений.
В ответ на команду, программа SchTasks.exe по умолчанию выводит задания в формате таблицы,
например:
Имя задания Следующий запуск Состояние ========================= ======================== ========== Microsoft Outlook При запуске SecureScript 14:42:00 PM , 2/4/2001
Чтобы вывести на экран дополнительные свойства назначенных заданий
Следующая команда запрашивает вывод подробных сведений о заданиях на локальном компьютере.
Параметр /v используется в команде для запроса подробного вывода, а параметр
/fo LIST для форматирования вывода в список для облегчения процесса чтения.
Используйте эту команду, чтобы проверить, что созданное задание имеет
В ответ на эту команду, программа SchTasks.exe выводит на экран подробный список свойств
для всех заданий. Далее показан список для задания, запланированного для выполнения в 4:00
в последнюю пятницу каждого месяца:
Имя узла: RESKIT01
Имя задачи: SecureScript
Следующий запуск: 4:00:00 AM , 3/30/2001
Состояние: Не выполняется
Последний запуск: Нет
Последний результат: 0
Создан: user01
Расписание: В 4:00 AM в последнюю пт каждого месяца, начиная с 3/24/2001
Задача для выполнения: C:\WINDOWS\system32\notepad.exe
Рабочая папка: notepad.exe
Комментарий: Н/Д
Состояние назначенной задачи: Включено
Тип разписания: Ежемесячно
Модификатор: последняя пятница
Время запуска: 4:00:00 AM
Дата начала: 3/24/2001
Дата окончания: Н/Д
Дн.: пятница
Мес.:янв,фев,мар,апр,май,июн,июл,авг,сен,окт,ноя,дек
Запуск от имени: RESKIT\user01
Удалить задачу, если она не перенесена: Отключено
Остановить задачу, если она выполняется Х ч. и Х мин.:72:00
Повторять: до: время: Отключено
Повторять: в течение: длительность:Отключено
Повторять: остановить, если выполняется Отключено
При простое: Время начала (для типа расписания ПРИ ПРОСТОЕ)
Отключено
При простое: Запускать только при простое в Х мин.
Отключено
При простое: Без простоя повторять попытки в течение Х мин.
Отключено
При простое: Остановить задачу по завершении простоя
Отключено
Управление электропитанием: Не запускать при
питании от батареи
Отключено
Управление электропитанием: Останавливать при
питании от батареи
ОтключеноЧтобы просмотреть задания, назначенные для удаленного компьютера
Следующая команда запрашивает список заданий, назначенных для удаленного компьютера, и
добавляет задания в файл журнала в формате с разделителями запятыми на локальном
компьютере. Чтобы собрать и отслеживать задания, назначенные нескольким компьютерам,
используйте данный формат команды.
Параметр /s идентифицирует уделенный компьютер «Reskit16», параметр /fo
задает формат, а параметр /nh отменяет вывод заголовков столбцов. Символ добавления
>> перенаправляет вывод в журнал заданий p0102.csv на локальный компьютер
«Srv01». Путь к локальному компьютеру должен быть задан полностью, потому что команда
выполняется на удаленном компьютере.
В ответ на команду, программа SchTasks.exe добавляет задания, назначенные для удаленного
компьютера, в файл p0102.csv на локальном компьютере Srv01.
Примеры
Чтобы удалить задание из расписания удаленного компьютера
Следующая команда удаляет задание «Start Mail» из расписания удаленного компьютера.
Параметр /s используется в программе для указания удаленного компьютера.
В ответ, программа SchTasks.exe выводит на экран следующее сообщение о подтверждении. Чтобы
удалить задание, введите y. Для отмены команды введите n.
ПРЕДУПРЕЖДЕНИЕ: Хотите удалить задание
«Start Mail» (Д/Н )? дУДАЧА. Запланированная задача
"Start Mail" была успешно удалена.Чтобы удалить все задания, назначенные для локального компьютера
Следующая команда удаляет все задания из расписания локального компьютера, включая задания,
назначенные другими пользователями. Параметр /tn * в команде представляет все
задания на компьютере, а параметр /f отменяет вывод сообщения о подтверждении.
В ответ на эту команду, программа SchTasks.exe выводит следующее сообщение, показывающее,
что только назначенное задание «SecureScript» удалено.
УДАЧА. Запланированная задача
"SecureScript" была успешно удалена.
Выводит на экран все задания, назначенные для выполнения на компьютере, включая задание,
назначенные другими пользователями.
Совместимость с MS-DOS
В старых ОС, таких как MS-DOS, было ограничение на отображение имени файлов. На экран выводилось восемь символов имени, точка и три символа расширения. Если имя файла превышало по длине восемь символов, то имя файла отображалось по следующей схеме:
<первые шесть символов имени>~<порядковый номер>Например, каталог Program Files выглядит следующим образом:
Progra~1В современных операционных системах такое отображение не применяется, но CMD.EXE до сих пор поддерживает такие запросы к файлам и каталогам.
Выберите подходящий из более 100 готовых конфигураций.
Параметры
- /tn имя_задания
- Идентифицирует задание, запускающее программу. Параметр обязательный.
- /s компьютер
- Задает имя или IP-адрес удаленного компьютера (с обратными косыми чертами или без них).
По умолчанию используется локальный компьютер. - /u [домен\]пользователь
- Выполняет команду с разрешения указанной учетной записи пользователя. По умолчанию,
команда запускается с разрешения пользователя, вошедшего в систему компьютера, на котором
выполняется SchTasks. - /p пароль
- Задает пароль учетной записи пользователя, указанной параметром /u. Параметр
требуется при использовании параметра /u. - /?
- Вывод справки.
Параметры
- /tn имя_задания
- Определяет имя для задания.
- /tr выполнение_задания
- Указывает программу или команду, которая выполняет задание. Введите полный путь и имя
исполняемого файла, файла сценария или пакетного файла. Если пропущен путь, программа
SchTasks.exe предполагает, что файл находится в
системном_корневом_каталоге\System32. - /sc расписание
- Задает тип расписания. Допустимыми значениями являются ЕЖЕМИНУТНО, ЕЖЕЧАСНО, ЕЖЕДНЕВНО,
ЕЖЕНЕДЕЛЬНО, ЕЖЕМЕСЯЧНО, ОДНОКРАНО, ПРИ ЗАПУСКЕ, ПРИ ВХОДЕ В СИСТЕМУ, ПРИ ПРОСТОЕ. - /mo модификатор
- Определяет частоту выполнения команды в соответствии с его типом расписания. Этот
параметр обязателен для расписания ЕЖЕМЕСЯЧНО. Параметр является допустимым, но
необязательным для расписаний ЕЖЕМИНУТНО, ЕЖЕЧАСНО, ЕЖЕДНЕВНО или ЕЖЕНЕДЕЛЬНО. По
умолчанию значение равно 1. - /d день
- Указывает день недели и день месяца. Параметр допустим только с расписаниями ЕЖЕНЕДЕЛЬНО
или ЕЖЕМЕСЯЧНО. - /m месяц[,месяц…]
- Указывает месяц года. Допустимые значения с ЯНВ по ДЕК и * (каждый месяц). Параметр
/m действителен только для расписания ЕЖЕМЕСЯЧНО. Параметр требуется при
использовании модификатора ПОСЛЕДНИЙ. В других случаях он является необязательным.
Значение по умолчанию *(каждый месяц). - /i время_простоя
- Указывает интервал времени простоя компьютера (в минутах) до начала выполнения задания.
Введите любое число от 1 до 999. Параметр допустим только с расписанием
ПРИ ПРОСТОЕ, в этом случае он обязателен. - /st время_запуска
- Задает время начала выполнения задания в 24-часовом формате в виде чч:мм:сс. По умолчанию
установлено локальное время, когда команда завершена. Параметр /st является
действительным для расписаний типа ЕЖЕМИНУТНО, ЕЖЕДНЕВНО, ЕЖЕНЕДЕЛЬНО, ЕЖЕМЕСЯЧНО и
ОДНОКРАТНО . Требуется для расписания ОДНОКРАТНО. - /sd дата_запуска
- Задает дату начала выполнения задания в формате мм/дд/гггг. По
умолчанию установлено значение текущей даты. Параметр /sd можно использовать со
всеми расписаниями. Он требуется для расписания ОДНОКРАТНО. - /ed дата_окончания
- Определяет последнюю дату, на которую назначается выполнение команды. Параметр является
необязательным. Недопустимо использование с расписаниями типа ОДНОКРАТНО, ПРИ ЗАПУСКЕ,
ПРИ ВХОДЕ В СИСТЕМУ, ПРИ ПРОСТОЕ. По умолчанию у расписаний нет даты окончания. - /s компьютер
- Задает имя или IP-адрес удаленного компьютера (с обратными косыми чертами или без них).
По умолчанию используется локальный компьютер. - /u [домен\]пользователь
- Выполняет команду с разрешения указаной учетной записи пользователя. По умолчанию,
команда запускается с разрешения пользователя, вошедшего в систему компьютера, на котором
выполняется SchTasks. - /p пароль
- Задает пароль учетной записи пользователя, указанной параметром /u. Параметр
требуется при использовании параметра /u. - /ru {[домен\]пользователь | “System”}
- Выполняет задания с разрешения указанной учетной записи пользователя. По умолчанию,
начинается выполнение задание с разрешения пользователя, вошедшего в систему компьютера,
на котором выполняется SchTasks. - /rp пароль
- Определяет пароль учетной записи пользователя, заданной параметром /ru. Если
пропустить этот параметр при указании учетной записи пользователя, программ SchTasks.exe
предлагает ввести пароль и скрывает введенный текст. Для заданий, выполняемых с
разрешений ученой записи NT Authority\System, не требуется пароль и программа
SchTasks.exe не предлагает его ввести. - /?
- Отображает справку в командной строке.
Параметры
- /tn имя_задания
- Указывает задание, которое требуется изменить. Введите имя задания.
- /s компьютер
- Задает имя или IP-адрес удаленного компьютера (с обратными косыми чертами или без них).
По умолчанию используется локальный компьютер. - /u [домен\]пользователь
- Выполняет команду с разрешения указанной учетной записи пользователя. По умолчанию,
команда запускается с разрешения пользователя, вошедшего в систему компьютера, на котором
выполняется SchTasks. - /p пароль
- Задает пароль учетной записи пользователя, указанной параметром /u. Параметр
требуется при использовании параметра /u. - /tr выполнение_задания
- Изменяет программу, которую запускает задание. Введите полный путь и имя исполняемого
файла, файла сценария или пакетного файла. Если пропущен путь, программа SchTasks.exe
предполагает, что файл находится в системном_корневом_каталоге\System32. Указанная
программа заменяет исходную программу, выполняемую заданием. - /ru [домен\]пользователь | “System”
- Изменяет учетную запись пользователя для этого задания.
Когда меняется учетная запись пользователя, необходимо также сменить пароль. Если в
команде есть параметр /ru, но не присутствует параметр /rp, SchTasks.exe
предлагает ввести новый пароль и скрывает вводимый текст.Для заданий, выполняемых с разрешений ученой записи NT Authority\System, не требуется
пароль и программа SchTasks.exe не предлагает его ввести. - /rp пароль
- Изменяет пароль учетной записи пользователя для этого задания. Введите новый пароль.
- /?
- Отображает справку в командной строке.
Примеры
Для того чтобы запустить программу Myapp, но при этом остаться в текущем окне командной
строки, следует использовать следующую команду:
Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать
раздел форума
этого сайта (требуется регистрация).
Новый раздел о средствах командной строки в рамках этого же проекта расположен
здесь
Синтаксис
schtasks /delete /tn {имя_задания | *}
[/f] [/s компьютер [/u [домен\]пользователь
/p пароль]] [/?]
Редко используемые, но очень полезные команды
При помощи командной строки можно выполнять различные интересные функции (большинство приведенных ниже команд работает только с правами администратора):
Превращаем ноутбук в Wi-Fi-роутер (включение раздачи интернета с ноутбука или настольного компьютера с Wi-Fi-адаптером)
Для реализации этой затеи нужно поочередно выполнить три несложные команды:
- netsh wlan set hostednetwork mode=allow
- netsh wlan set hostednetwork mode=allow ssid= MiWiFi key= MiWiFipassword keyUsage=persistent. Вместо MiWiFi и MiWiFipassword можно использовать свои фразы. Первый параметр задает имя беспроводной сети, второй — пароль (должен состоять из 8 символов или более).
- netsh wlan start hostednetwork.

Если после выполнения каждой команды вы видите сообщения, аналогичные тем, что приведены на изображении выше, значит, все прошло успешно. Теперь к ноутбуку можно подключиться, например, с телефона так же, как и к обычному Wi-Fi-роутеру.
Удалениям службу Windows (или любую другую) через командную строку
Если попробовать удалить службу через штатное приложение “Службы”, то ничего не получится (в нем попросту не предусмотрено такой функции). Однако это бывает необходимым, особенно после установки различных программ, которые устанавливают службы, но “забывают” их удалять при деинсталляции. Это легко реализуется через командную строку. Однако для начала необходимо узнать имя службы, и это можно сделать через стандартное Windows-приложение:
- Запустите программу “Службы”, используя команду msc.
- Найдите в отобразившемся списке службу, которую необходимо удалить, и кликните по ней два раза мышкой:

- Нас интересует текст в блоке “Имя службы”.
- Теперь вернитесь в окно командной строки и впишите в него команду:
sc delete имя_службы
- Подставьте вместо фразы “имя_службы” имя удаляемой службы. Если оно содержит пробелы, как в нашем случае, заключите имя службы в кавычки.
- Служба удалена.
Выключаем/перезагружаем/отправляем в сон/гибернацию компьютер с задержкой. Если необходимо выключить, перезагрузить или отправить в сон компьютер с задержкой по времени, не обязательно использовать какие-либо сторонние программы — все можно сделать при помощи командной строки. Для этого достаточно использовать команду:
shutdown /s /t 60 /f
В данном случае компьютер будет выключен (параметр “/s“) через 60 секунд (параметр “/t 60“) с принудительным завершением работы всех приложений без предупреждения пользователя (параметр “/f” — обязательный при использовании таймера “/t“).
Вместо выключения компьютера “/s” использовать:
- /l — завершение сеанса (выход из учетной записи пользователя с блокировкой, если для входа требуется пароль).
- /r — перезагрузка компьютера.
- /hybrid /s — “отправка” компьютера в сон (параметр “/s” использовать обязательно).
- /h — режим гибернации (или режим максимального энергосбережения, при котором ключевые компоненты компьютера остаются включенными).
Для выключения компьютера, например, через 2 часа следует указывать в параметре “/t” число 7200 (1 час равен 3600 секундам).

Сразу после выполнения команды на экран будет выведено уведомление:

Выполнение команды всегда можно отменить (если была использована задержка), воспользовавшись:

Просмотр списка запущенных процессов и завершение работы любого из них. Если по каким-то причинам не удается запустить “Диспетчер задач”, но имеется доступ к командной строке, запущенный процесс может быть снят при помощи специальных команд:
- Сначала выведем на экран список всех запущенных процессов при помощи команды tasklist:

- Нас интересует идентификатор “PID” завершаемого процесса. Возьмем для примера PID процесс “NVDisplay.Container.exe” — 1100.
- Для завершения его работы используем команду taskkill /pid 1100 /f (параметр “/f” необходим для принудительного завершения работы процесса).

Чиним интернет при помощи командной строки. Разнообразные неполадки с сетевыми подключениями можно устранить “одним махом” через командную строку путем сброса настроек TCP/IP (не будем вдаваться в подробности, но если вам интересно, об это можно почитать тут — Netsh Winsock — что это и зачем нужно?.
Для выполнения этой задачи нужно поочередно ввести две команды:
netsh int ip reset
netsh winsock reset

Перезагружаем компьютер для применения изменений.
Примеры
Чтобы завершить задание на локальном компьютере
Следующая команда останавливает экземпляр Notepad.exe, который был запущен заданием «Мой блокнот».
schtasks /end /tn “Мой блокнот”
В ответ, программа SchTasks.exe останавливает запущенный экземпляр Notepad.exe и выводит
следующее сообщение об удачной операции.
УДАЧА. Запланированная задача
"Мой блокнот" была успешно снята.Чтобы завершить задание на удаленном компьютере
Следующая команда завершает экземпляр Internet Explorer, который был запущен заданием
«InternetOn» на удаленном компьютере «Svr01».
schtasks /end /tn InternetOn /s Svr01
В ответ, программа SchTasks.exe останавливает запущенный экземпляр Internet Explorer и
выводит следующее сообщение об удачной операции.
УДАЧА. Запланированная задача
"InternetOn" была успешно снята.Удаляет назначенное задание
Создание файлов.
В Windows нет специальной команды для создания файла, но без нее можно легко обойтись несколькими способами:
COPY CON myfile.txt
При выполнении этой команды данные с клавиатуры (устройство CON) будут заноситься в файл myfile.txt. Нажатие клавиши F6 или комбинации CTRL-Z завершит вывод.
При выполнении этой команды будет создан файл myfile.txt, содержащий символ “1”
COPY CON > myfile.txt < xyz
При выполнении этой команды, как и в первом случае, используется копирование
с консоли в файл, но вместо данных с клавиатуры используется ввод с
несуществующего устройства xyz. Система выдаст сообщение, о том, что такого устройства
не существует, но пустой файл myfile.txt будет успешно создан.
Совсем простой вариант – копирование с фиктивного устройства с именем nul
в файл.
copy nul myfile.txt
Если вам часто приходится создавать пустые файлы, можно подготовить свой
командный файл (например – newfile.bat или, что еще лучше, – nf.bat),
а имя создаваемого файла передавать ему в качестве параметра при запуске.
copy nul %1
Поместите этот командный файл в системный каталог
(C:\windows\system32) или любой другой, имеющийся в путях поиска,
задаваемых переменной PATH).
Таким образом, мы получили команду nf для создания пустого файла в
командной строке Windows.
Присвоение съемному диску одной и той же буквы.
Задача заключается в том, чтобы съемный USB диск (флэш диск) был доступен
всегда под одной и той же буквой, независимо от того, на каком компьютере он используется
и как он подключен. Для ее решения воспользуемся уже упоминаемой выше командой SUBST.
Выберем для съемного диска желаемую букву, например – X. Имя диска, с которого
был запущен командный файл доступно как переменная %~d0. Создаем командный файл
следующего содержания:
subst X: %~d0\
что означает – создать виртуальный диск X:, которому сопоставлен
физический диск, откуда был выполнен запуск командного файла.
Дополнительное представление о подстановочных значениях
переменной %0 можно получить из командного файла следующего
содержания:
Создание поколений архивов по датам и времени.
Решим следующую задачу – нужно создать архив файлов, находящихся в каталоге
C:\Program Files\FAR. Имя архивного файла должно состоять из текущего времени
(часы.минуты.секунды – ЧЧ.ММ.СС.rar), и помещен он должен в новый каталог, имя которого должно состоять из текущей даты
(день.месяц.год – ДД.ММ.ГГГГ). Для архивирования будем использовать архиватор RAR.
Формат запуска для создания архива:
RAR a -r < путь и имя архива > < Путь и имя архивируемых данных >
a – параметр, задающий добавление файлов в архив (для создания архива).
-r – параметр, определяющий архивирование подкаталогов (т.к. в исходной папке есть подкаталоги).
Таким образом, для решения задачи нужно правильно создать имена и пути для RAR. Для чего
воспользуемся следующими факторами:
Как правило, причиной является тот факт, что на момент выполнения вашего командного файла переменные среды могут быть совсем другими, чем на момент его написания и запуска из командной строки. Например, в командном файле используется запуск приложения myprog.exe, находящегося в каталоге SCRIPTS на диске D: . Если в командном файле используется имя модуля без полного пути
и если каталог D:\SCRIPTS не прописан в путях поиска (переменная PATH ) то модуль MYPROG.EXE может быть найден и выполнен только если текущим каталогом является D:\SCRIPTS. Но если вы укажете полный путь к myprog.exe
То программа будет найдена и выполнена в любом случае.
Есть еще одна тонкость – нередко программа, указанная в командном файле использует для поиска своих компонент (dll, ini и т.п. ) собственный каталог. Но на момент ее выполнения текущим каталогом может быть любой (чаще всего – системный каталог Windows). Естественно, компоненты не находятся и программа не выполняется. Для устранения проблемы добавьте в командный файл команды, обеспечивающие переход в нужный каталог. Например, программа myprog.exe должна выполняться в каталоге D:\SCRIPTS:
Rem Сменим текущий диск
Rem перейдем в каталог SCRIPTS
Прием со сменой каталога наиболее универсален и, как правило, всегда срабатывает.
Причина в том, что при создании командных файлов вы
использовали текстовый редактор, в котором русские символы представлены
не в DOS-кодировке. Если в приведенном выше примере перезапуска службы “DNS-клиент”
вы используете неверную кодировку, то русская часть имени службы не будет опознана
из-за неверной кодировки и будет выдано сообщение, что указанная служба не
установлена. Чтобы избежать проблем с русскими символами в командных файлах,
используйте редактор с поддержкой DOS-кодировки, например, встроенный редактор
файлового менеджера FAR.
Переключение между кодировками в редакторе осуществляется нажатием F8 .
С помощью FAR можно легко осуществлять перекодировку, скопировав (вырезав) текст в буфер обмена, затем
нажав F8 и вставив текст из буфера.
Обычно это вызвано применением в командных файлах абсолютных значений вместо
переменных среды окружения. Вместо C:\WINDOWS правильнее использовать %SYSTEMROOT%, потому,
что на другом компьютере система может быть установлена в другой каталог или на другой диск.
Старайтесь вместо имени командного файла использовать переменную %0 и ее
подстановочные
варианты (%~d0 – диск с которого запущен сценарий, %~dp0 – полный путь и т.д.).
Строки с переменными, принимающими значения имен файлов и каталогов лучше
заключать в кавычки. Командная строка
DIR %ProgramFiles%
не выдаст вам содержимого каталога C:\Program Files , поскольку из-за наличия пробела будет
интерпретирована как
DIR C:\Program
Командная строка
DIR “%ProgramFiles%”
выполнится верно.
Старайтесь использовать команды Setlocal и Endlocal, чтобы не оставлять мусор
из переменных, созданных или модифицированных командным файлом.
<br
Использование командных файлов в сценариях регистрации
пользователей .
Командные файлы удобно использовать для выполнения каких-либо
действий при регистрации пользователя в
домене. Делается это с помощью вкладки “Profile”
свойств пользователя домена.

Сами командные файлы скриптов должны
находиться в сетевой папке Netlogon (Windows\ Ssysvol\ Domain\ Scripts , для Win2k –
WINNT\SYSVOL \ DOMAIN \ SCRIPTS) контроллера
домена, доступ на чтение к которой должен
быть у всех пользователей, проходящих
регистрацию.
Страницы близкой тематики:
Список команд,
используемых в командной строке Windows. . – Перечень команд CMD Windows и краткая справка с примерами
Работа с сетью в командной строке – Примеры использования командной строки для диагностики сетевых проблем, анализа состояния и настроек сетевых устройств.
Настройка командной строки Windows – Примеры настроек приложения командной строки.
Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой “Поделиться”
</br
Примеры
Чтобы выполнить задание на локальном компьютере
Следующая команда запускает задание «Сценарий безопасности».
schtasks /run /tn “Сценарий безопасности”
В ответ, программа SchTasks.exe запускает сценарий задания и выводит на экран следующее
сообщение:
УДАЧА. Запланированная задача
"Сценарий безопасности" выполняется.Чтобы выполнить задание на удаленном компьютере
Данная команда запускает задание «Update» на удаленном компьютере «Srv01»:
schtasks /run /tn Update /s Svr01 ”
В этом случае программа SchTasks.exe выводит следующее сообщение об ошибке:
ОШИБКА. Не удается выполнить запланированную задачу Update. Чтобы выяснить причину ошибки, посмотрите журнал транзакций назначенных заданий
(C:\Windows\SchedLgU.txt) на компьютере «Svr01». В журнале появилась запись:
Update.job (update.exe) 3/26/2001 1:15:46 PM ** ОШИБКА **
Попытка использования учетной записи задания
окончилась неудачей, поэтому задание
выполнено не было.
Специфическая ошибка:
0x8007052e: Отказ входа в систему: Причина: неизвестное
имя пользователя или неверный пароль.
Проверьте правильность указания имени пользователя и
пароля и повторите попытку. Имя пользователя или пароль являются недопустимыми для системы. Следующая команда
schtasks /change обновляет имя пользователя и пароль для задания «Update» на
компьютере Srv01.
После завершения команды change, повторяется команда run. Сейчас запускает
программу Update.exe и SchTasks.exe выводит сообщение:
УДАЧА. Запланированная задача
"Update" выполняется.Останавливает программу, запущенную заданием.
Примеры bat-файлов
Рассмотрим несколько примеров bat-файлов. Начнем с базовых команд.
Обновление IP-адреса
ipconfig /renewДанная команда генерирует много текстового вывода, который может испугать неподготовленного пользователя. Сама команда также может быть непривлекательной. Поэтому отключим отображение команды и перенаправим вывод выполнения в «никуда». Вместо слова NUL может быть любое имя или путь. Тогда вывод будет перенаправлен в указанный файл.
rem Отключаем отображение команд. Символ @ отключает отображение текущей команды
@echo off
rem Переводим вывод выполнения в устройство NUL, вывод исчезнет
ipconfig /renew > NULПри запуске такого скрипта появляется черное окно, которое быстро исчезает. Можно оставить простые и понятные пользователю сообщения и не дать окну закрыться.
@echo off
echo Выполняется настройка, пожалуйста, подождите...
ipconfig /renew > NUL
echo Все хорошо.
rem Эта команда остановит выполнение до тех пор, пока пользователь не нажмет любую клавишу
pauseСкорее всего данный скрипт выведет набор непонятных символов вместо сообщения. Дело в том, что в русскоязычных ОС Windows по умолчанию в CMD.EXE используется кодировка CP866. Блокнот сохраняет в CP1251 (Windows-1251), а Notepad++ — в UTF-8. Для решения проблемы необходимо сменить кодировку интерпретатора командой chcp или сохранить bat-файл в кодировке интерпретатора.
rem Смена кодировки на Windows-1251
chcp 1251 > NUL
rem Смена кодировки на UTF-8
chcp 65001 > NULЯ сохранил файл в кодировке UTF-8 и итоговый скрипт получился таким:
@echo off
chcp 65001 > NUL
echo Выполняется настройка, пожалуйста, подождите...
ipconfig /renew > NUL
echo Все хорошо.
pauseСоздание резервной копии каталога
Перейдем к более жизненной ситуации — создание резервной копии (backup) каталога. Предположим, что каждый архив должен иметь в названии дату создания копии. Создадим каталог, имя которого — текущая дата. Текущая дата хранится в переменной DATE. Для обращения к переменным название переменной помещается между знаками процента.
mkdir %DATE%
cd %DATE%Копирование файлов в текущий каталог производится командой COPY.
rem файлы 1.txt и 2.txt будут скопированы в текущую папку
COPY C:\1.txt C:\2.txt .
rem файл 3.txt будет сохранен в текущую папку как example.txt
COPY C:\1.txt .\example.txtВозможно, в резервную копию необходимо дополнить служебную информацию — например, список файлов в корне копии и имя компьютера.
rem Имя компьютера записывается в файл computer.txt
hostname > computer.txt
rem Список файлов в текущем каталоге записывается в files.txt
dir . > files.txtОбычно резервные копии хранят в zip- или rar-архивах. Из командной строки отлично управляется архиватор 7z.
cd ..
7z -tzip a backup.zip %DATE% Запуск приложений из bat-файла
В первой части статьи я в общих чертах рассказал о BAT файлах. Теперь стало понятно – что это такое и с чем его едят. Во второй части речь пойдет уже о более конкретных вещах. Например, о том, как при помощи BAT файла запустить несколько приложений с определенными настройками или в автоматическом режиме установить программу, чтобы не тратить время на ответы типа Вы согласны с условиями лицензионного соглашения?
и не нажимать лишние кнопки.
Выше было изложено несколько способов запуска приложений при помощи BAT файла. Самый первый – это короткая команда на запуск установленной в системе программы.
firefoxЭто не всегда работает. Поэтому такой прием можно вполне применять на какой-то конкретной системе, но в качестве универсального решения он не подходит. Если есть цель заставить работать BAT файл везде и всегда, нужно пользоваться полными путями:
C:\"Program Files"\"Mozilla Firefox"\firefox.exeТакже я отметил, что в BAT файле обязательно должна присутствовать команда на завершение:
C:\"Program Files"\"Mozilla Firefox"\firefox.exeЗапуск программ в bat-файлах с параметрами (ключами)
Программу можно не просто запускать, а давать ей дополнительные команды при запуске. Например, скомандовать запускаться свернутой:
/min D:\FileZilla\FileZilla.exeСкомандовать в данном случае – значит указать ключ. Ключ указывается через слэш после основной команды (). Основной командой в данном случае является . Правда ключ работает только в половине случаев, потому как относится именно к команде запуска , а не к программам, которые эта команда запускает.
Вообще ключей существует очень много и наборы ключей разных программ могут существенно различаться. Есть, правда, несколько общих. Например, ключ справки ( или ). Чтобы проследить работу этого ключа, рассмотрим практический пример. Откройте консоль (Жмёте + , вводите , далее ) и набираете в консоли следующее:
/?Консоль выведет на экран перечень допустимых ключей c комментариями для команды .

Обратите внимание на ключ . В некоторых случаях он бывает просто незаменим. Например, вы решили с помощью BAT файла распаковать архив с программой и эту самую программу запустить. В батнике получится две команды – на распаковку и на запуск. Поскольку команды при запуске BAT файла выполнятся почти одновременно, архив распаковаться не успеет и запускать будет нечего. Поэтому будет ошибка. В этом случае на помощь придет ключ /wait:
Таким образом система сначала выполнит первое действие, дождется его завершения и только после этого приступит ко второму. Если необходимо подождать конкретный отрезок времени, то проще воспользоваться консольной утилитой Sleep. В нужном месте BAT файла пишете следующую команду (число – количество секунд):
Sleep.exe С помощью ключей можно делать многое. Есть возможность устанавливать приложения в тихом режиме. Для этого используется несколько ключей в зависимости от типа инсталятора, применяющегося для установки программы на компьютер:
/S
/s
/q
/silent
и ряд другихВ ряде случаев бывает очень удобно. Антивирус Avast имеет опцию тихой установки в корпоративной версии. В бесплатной (домашней) версии тихой установки якобы нет. Однако, если вы в курсе как работает инсталятор , вы поймете, что это утка
, так как этот инсталятор сам по себе поддерживает ключ тихой установки . А значит все продукты, выполненные на его базе – тоже. И Avast не исключение. Просто создаете в папке с Avast’ом BAT файл с содержанием
avast.exe /SЕсть и другие возможности по управлению программами при помощи BAT файлов. Можно запустить программу, приказав ей открыть файл при запуске. Я пользуюсь этим способом при разработке сайтов. Очень удобно, когда весь твой инструментарий открывает нужные документы и папки нажатием всего одной кнопки:
rem соединение с ftp-сервером /min D:\FileZilla\FileZilla.exe "ftp://логин:пароль@сервер"rem открытие index.php в Firefox C:\"program files"\"mozilla firefox"\firefox.exe "http://localhost/папка_сайта/index.php"rem открытие start.html в текстовом редакторе /min C:\"Program Files"\текстовой_редактор.exe "E:\сервер\папка_сайта\index.html"rem открытие папки с файлами сайта /min E:\сервер\папка_с_сайтомrem выход из консолиОтмечу, что все вышеописанные приемы можно применять в различных комбинациях и сочетаниях.
/min /wait program.exe /m /S C:\Directory\program2.exe "C:\Files\file.odt"Но важно помнить: всё, что касается выполнения запускаемой в батнике программы, пишется с ней в одной строке.
C:\"program files"\"mozilla firefox"\firefox.exe "http://localhost/папка_сайта/index.php"В качестве эпилога предложу для ознакомления конвертер BAT файлов в приложения формата – Bat_To_Exe_Converter. BAT файл – это не всегда эстетично, а с помощью конвертера можно запаковать батник в exe’шник, оформив его любой иконкой на ваш выбор.
Наткнулся ещё на один конвертер BAT в EXE, можете рассмотреть в качестве альтернативы предыдущей программе: Advanced Bat To Exe Converter
На этом всё.
Если материалы сайта оказались для вас полезными, можете поддержать дальнейшее развитие ресурса, оказав ему (и мне ) моральную и материальную поддержку.
Параметры
- [/query]
- Имя запроса является необязательным. При вводе команды schtasks без параметров
выполняется запрос. - /fo {TABLE|LIST|CSV}
- Задает выходной формат. Выходной формат по умолчанию TABLE.
- /nh
- Опускает заголовки столбцов при отображении таблицы. Параметр является допустимым с
выходными форматами TABLE и CSV. - /v
- К выведенным заданиям добавляет их дополнительные свойства.
Запросы, в которых используется параметр /v должны иметь выходной формат
LIST или CSV.- /s компьютер
- Задает имя или IP-адрес удаленного компьютера (с обратными косыми чертами или без них).
По умолчанию используется локальный компьютер. - /u [домен\]пользователь
- Выполняет команду с разрешения указанной учетной записи пользователя. По умолчанию,
команда запускается с разрешения пользователя, вошедшего в систему компьютера, на котором
выполняется SchTasks. - /p пароль
- Задает пароль учетной записи пользователя, указанной параметром /u. Параметр
требуется при использовании параметра /u. - /?
- Отображает справку в командной строке.
Востребованные сетевые команды командной строки
Из командной строки Windows можно взаимодействовать с сетевыми подключениями, изменять их настройки, просматривать различную информацию и многое другое. Рассмотрим наиболее востребованные сетевые команды.


“100% потерь” означает, что связь установить не удалось.



Если требуется определить только MAC-адрес сетевой карты, используем эту команду без всяких атрибутов:

Примеры
Для того чтобы запустить программу Myapp, но при этом остаться в текущем окне командной
строки, следует использовать следующую команду:
Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать
раздел форума
этого сайта (требуется регистрация).
Длинныe имена в bat-файлах
Теперь поговорим о путях и пробелах. Первый способ избежать этой проблемы – использование короткого имени.
C:\Program Files\Sound Club\scw.exeВ примере два имени с пробелами. Заменим их короткими. Правила создания коротких имен следующие: в коротком имени используются первые шесть символов имени без учета пробелов, после имени указывают порядковый номер папки с помощью символа ~. Так как папки и у меня в единственном числе, получится следующее:
Program Files - Progra~
Sound Club - SoundC~ C:\Progra~\SoundC~\scw.exeЕсли рядом будут присутствовать две папки, например и , то следуя правилам, в примере выше надо будет указать , так как в этом случае окажется вторым именем (имена считаются в алфавитном порядке).
Но этот способ неудобен тем, что приходится указывать порядковые номера. Ситуация с более менее нормальная. Мало у кого встретится две подобные папки на системном диске. Но если вы решили установить несколько продуктов на свой компьютер. У вас получится несколько папок, например:
Mozilla Firefox
Mozilla Thunderbird
Mozilla SunbirdКороткими именами для них будут
Mozill~1
Mozill~2
Mozill~3А теперь представьте, что вы написали BAT файл с упоминанием этих программ. Если удалить Firefox, оставшиеся записи перестанут работать, а если удалить Thunderbird, перестанет работать запись для Sunbird. Короче, способ с короткими именами – не наш способ.
Синтаксис
schtasks /create /tn имя_задания
/tr выполнение_задания /sc расписание
[/mo модификатор] [/d день] [/m месяц[,месяц…] [/i время_простоя] [/st время_запуска] [/sd дата_запуска] [/ed дата_окончания] [/s компьютер [/u [домен\]пользователь
/p пароль]] [/ru {[домен\]пользователь | “System”} [/rp
пароль]] /?
Синтаксис
schtasks /end /tn имя_задания
[/s компьютер [/u [домен\]пользователь
/p пароль]] /?
Как открыть командную строку Windows?
Некоторые из консольных команд можно выполнить лишь из учетной записи администратора. Потому лучше сразу запомнить, как запускать интерпретатор с максимальным количеством прав доступа к системе. В ОС Windows 7/8/10 делается это просто:
- Откройте “Поиск” в/около меню “Пуск”.
- Впишите поле поиска “Командная строка”.
- В результатах поиска отобразится нужная нам программа. Кликните по ней правой кнопкой мыши, затем выберите из выпадающего меню пункт “Запустить от имени администратора”.

Но для выполнения простых команд консоль Windows можно запускать и без прав администратора. Проще всего это сделать следующим образом:
- Нажмите на клавиатуре клавиши “Win” и “R”.
- Откроется окно “Выполнить”.
- Впишите в него команду cmd и нажмите “ОК”.

Так или иначе, системное приложение “Командная строка Windows” будет запущена и готова выполнению пользовательских команд:

Пробелы и кавычки в bat-файлах
Кавычки на самом деле работают, но не с теми способами, которые обычно советуют. Советуют обычно следующее:
"C:\Program Files\Sound Club\scw.exe"Так команда не сработает, поскольку если посмотреть справку по ней (), то в справке вы увидите следующее:
["заголовок"] [/D путь] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL] [/NODE узел NUMA] [/AFFINITY маска сходства] [/WAIT] [/B] [команда/программа] [параметры]Как видите, первым параметром идёт заголовок окна и он как раз в кавычках. Этот параметр необязательный, но его всё же советуют указывать (например, тут), чтобы избежать ошибок при выполнении команды. Внутри кавычек можно ничего не писать. Получится так:
"" "C:\Program Files\Sound Club\scw.exe"Также сработает и вариант с заключением в кавычки всех имён с пробелами по отдельности:
C:\"Program Files"\"Sound Club"\scw.exeОднако, в ряде случаев не работает ничего из вышеописанного. В таких случаях я могу посоветовать использовать команду . Переходим на системный раздел, затем с помощью в папку и запускаем программу ():
\Program Files\Sound Club\ scw.exeЯ думаю, что такой способ будет работать везде. Теперь еще пара важных моментов. Допустим вы создали батник, запускающий три программы и вам нужно на время исключить запуск одной из трех. Это можно сделать удалением строки или ее комментированием. Первый способ – вандальный, а второй смотрите ниже.
firefox jetaudiorem start defragglerВ данном случае отключен запуск установленной в системе программы Defraggler.exe. Комментируют строки, указывая команду в начале строки. Все BAT файлы выполняются в окне консоли. Чтобы оно исчезало по окончании выполнения команд, не забывайте в конце писать команду на выход
firefox jetaudiorem start defragglerПередача параметров командному файлу.
Командная оболочка предполагает возможность передачи командному файлу некоторых параметров командной строки и использования их значений в соответствии с логикой выполняемого алгоритма.
При обработке командной строки, первый параметр будет доступен как переменная %1,
второй – %2 и т.п. Имя самого командного файла доступно как переменная %0.
Для примера создадим командный файл, задачей которого будет выдача на экран значений введенных параметров. Обычно для вывода
текста используется команда
В качестве элементов текста могут использоваться значения параметров командной
строки. Например, если в текст добавить %1, – то будет выдан первый параметр,
%2 – второй и т.д.
Простейший пример – командный файл, например, с именем param.bat следующего содержания:
param.bat FIRST second “two words”
Обратите внимание, что параметр, содержащий пробел, заключен в двойные кавычки.
REM< пробел > текст
REM будет выводиться только результат их выполнения.
Команды и синтаксис пакетных файлов
Командный интерпретатор выполняет команды из файла последовательно — строка за строкой. Исключение составляет только оператор GOTO, который «отправляет» к указанной строке. Командный интерпретатор выполняет два вида команд: встроенные команды и внешние исполняемые файлы.
Внешние исполняемые файлы — это любой исполняемый файл, то есть с расширением EXE, CMD или BAT, который доступен в операционной системе. Например, «Блокнот» — это исполняемый файл notepad.exe. Следующая команда приведет к запуску этого приложения с открытым файлом C:\1.txt:
notepad.exe C:\1.txtАргументом может быть не только путь, но и ключ — специальный аргумент, который начинается с символа слэш (/). У каждой программы свой «реестр» ключей и их значений.
Обратите внимание, что не все внешние команды «понимают» аргументы, переданные из интерпретатора командной строки. Например, исполняемый файл приложения калькулятор, calc.exe, игнорирует все аргументы командной строки. Внешним исполняемым файлом может быть в том числе другой bat-файл.
Встроенные команды — это команды, которые являются частью интерпретатора командной строки. Полный список команд доступен по команде HELP. Данные команды не имеют отдельного исполняемого файла.
Иногда в имени файла или каталога встречаются пробелы. Наиболее очевидный пример — каталог Program Files на диске C. В этом случае помогают кавычки. Их можно расставить различными способами. Например:
cd "C:\Program Files\123"
cd C:\”Program Files”\123Операционная система Windows запрещает использование множества специальных символов в именах файлов, в том числе кавычки, поэтому проблем с указанием файлов не возникнет.
Официальный способ — команда rem или два двоеточия.
rem Это первый комментарий
:: Это тоже комментарийgoto start
===
Здесь можно оставить большой комментарий,
лицензию или даже ASCII-арт
===
:startВ конце комментария задаем имя метки, а в начале комментария выполняем команду GOTO c именем метки. Этот способ требует внимания, так как для каждого комментария должна быть своя метка, иначе выполнение bat-файла может отличаться от ожидания разработчика.
Работа с файлами и папками из командной строки
Бывают ситуации, когда невозможно запустить стандартный файловый менеджер “Проводник Windows”. Например, из-за действия вирусов-блокировщиков или при системных сбоях. В любом случае все, что можно сделать при помощи “Проводника”, можно сделать и при помощи командной строки. Начнем с самого простого — просмотра содержимого папок.

Давайте, выведем на экран список все других объектов (файлов и папок), содержащихся в данной папке. Для этого используйте команду dir:

Объекты, напротив которых написано <DIR> — это папки, все остальное — файлы (напротив них указан размер в байтах).
Команду dir можно применять вообще папкам, расположенным в вообще любом месте на жестком диске. Для этого после команды следует указать путь до каталога. К примеру, для просмотра содержимого папки “Windows” на диске “C:” следует ввести команду:
Запомните одно простое правило. Если в именах папок/файлов присутствуют пробелы, их следует писать в двойных (“имя папки или файла”) кавычках.
Открытие файла из командной строки. Для открытия файла достаточно вписать его полное название вместе с расширением в командную строку. Что не вводить имя файла целиком, используйте клавишу “Tab” (с ее помощью можно поочередно перебирать имена всех объектов в текущей папке).

Переход в другую папку. Для перехода в папку используется команда cd, после которой следует прописать путь к открываемой папке либо просто ее имя (если она расположена в нашем текущем местоположении на жестком диске).
Перейдем в папку “Music”. Т.к. она находится в текущем каталоге, достаточно ввести в консоль:

Давайте, перейдем в какую-нибудь папку, расположенную на другом локальном диске. Это можно сделать несколькими способами, но воспользуемся самым легким для запоминания.
- Для начала перейдем в сам локальный диск (изменим наше местоположение). Для этого достаточно использовать (независимо от текущего местоположения) команду e:. Вместо e можно использовать любую другую букву локального диска (или даже флешки, например):

- Допустим, нам известно, что на диске “E” существует папка “Install“, а в ней — пака “Web“. Перейти в нее можно одной командой:

Запуск/открытие программы/файлы в другой папке или на другом диске. Запустим программу, расположенную где-нибудь глубоко на диске. Для запуска файла или программы можно просто указать полный путь до него. Текущее местоположение в этом случае не имеет значения. Запустим, например, текстовый редактор “Notepad++” одной командой:

Обратите внимание, что имя папки “Program Files” взято в кавычки, т.к. в нем присутствует пробел.
Создание, удаление и переименование файлов и папок. Из командной строки можно выполнить все эти операции над файлами и папками.
- Создание простого текстового файла — copy nul простой_текстовый_файл.txt. Перед названием файла можно указать путь до конечной папки, в которой тот будет создан (если не указать, файл создастся в текущей папке).

- Создание папки — mkdir папка. Папка также создается в текущем местоположении.

- Удаление файла (или нескольких) — del простой_текстовый_файл.txt (если требуется удалить несколько файлов, просто вписываем их имена друг за другом через пробел). Удаляем созданный ранее файл.
- Удаление папки — rmdir папка. Удаляем созданную ранее папку.

- Переименование папки/файла — ren простой_текстовый_файл.txt новое_имя_файла.txt или ren папка новое_имя_папки. Переименуем созданный файл и папку.

Через командную строку можно выполнить и ряд других операций над файлами и папками, включая копирование, перемещение, применение/изменение атрибутов (скрытый, системный, только для чтения и т.д.), слияние и т.д.
Еще примеры
Чтобы посмотреть пример, щелкните ссылку.
Чтобы создать задание, которое выполняется с разрешений системы
Следующая команда назначает запуск программы MyApp с разрешений учетной записи NT
Authority\System. В этом примере, назначено выполнение задания 1-го числа каждого месяца,
но можно использовать любой тип расписания для запуска программы с разрешениями системы.
В команде используется параметр /ru “System”, чтобы определить контекст
безопасности системы. Параметр /rp пропущен, потому что системные задания не
используют пароль
schtasks /create /tn “My App” /tr c:\apps\myapp.exe /sc ежемесячно /d 1 /ru “System”
В результате программа SchTasks.exe выведет на экран информационное сообщение и сообщение
об успехе. Пароль не запрашивается.
СВЕДЕНИЯ: Задание будет создано
под именем текущего пользователя
("NT AUTHORITY\SYSTEM").
УДАЧА. Запланированная задача "My App"
была успешно создана.Чтобы создать задание, которое запускает несколько программ
Каждое задание выполняет только одну программу. Однако, можно создать пакетный файл,
запускающий несколько заданий, а затем запланировать задание, которое выполняет этот
пакетный файл. Следующая процедура представляет этот метод.
- Создайте пакетный файл, запускающих необходимые программы.
В данном примере создан пакетный файл, который запускает программы «Просмотр событий»
(Eventvwr.exe) и «Системный монитор» (Perfmon.exe). - Откройте текстовый редактор, например «Блокнот».
- Введите имя и полный путь к выполняемому файлу для каждой программы. В данном
случае файл включает следующие строки: - Сохраните файл как MyApps.bat.
- Используете программу SchTasks.exe для создания задания, которое запускает
MyApps.bat.Следующая команда создает задание «Монитор», которое выполняется каждый раз при входе
любого пользователя в систему. В команде используется параметр /tn для имени
задачи, параметр /tr для запуска файла MyApps.bat. Параметр /sc
указывает тип расписания OnLogon, а параметр /ru задает учетную запись
администратора.В результате этой команды каждый раз при входе пользователя в систему, задание
запускает программы «Просмотр событий» и «Системный монитор».
Изменяет один или несколько следующих параметров задания:
- программу, которую запускает задание (/tr);
- учетную запись пользователя, под которой выполняется задание (/ru);
- пароль ученой записи пользователя (/rp).
Запуск по расписанию
За выполнение действий по расписанию отвечает Планировщик заданий. Открываем меню Выполнить и запускаем программу taskschd.msc.
Выбираем пункт Создать простую задач и заполняем параметры задания:
- имя для простой идентификации,
- периодичность и время запуска,
- действие — Запустить программу,
- программа или сценарий — путь до вашего .bat-файла или .vbs-файла, который запускает .bat-файл скрытно.




Обратите внимание, что планировщик позволяет не только выполнять действие по времени, но и при наступлении события — например, при загрузке компьютера. Такой подход является альтернативой автозагрузке.
В случае разработки собственного bat-файла следует ознакомиться с основами командного интерпретатора.


