Командные файлы windows синтаксис

Командные или пакетные файлы (command/batch files)

Предостережение! Данная тема должна осваиваться пользователем(!) именно в том объеме, который приведен здесь, то есть — в единицах процентов. Максимум — еще пару «уровней» вглубь, если возникнет такая потребность. Углубление знаний до уровня, близкого к полному, заведет в тупик. Подобные задачи следует решать с помощью языков программирования высокого уровня, что упростит решения и значительно увеличит скорость, но относится к сфере профессионального выполнения.

По-прежнему, как 10, 20 и 30 лет назад, у пользователя сохраняется возможность индивидуально оптимизировать свою работу, переложив часть интеллектуального труда на плечи компьютера.

Для этого можно использовать так называемые командные или пакетные файлы, без преувеличений, в десятки и сотни раз облегчающие работу с файловой системой. Никакой разработчик никогда не сделает этого за вас, так как у всех свои индивидуальные потребности.

Без какого-либо сомнения, следует говорить, что сегодня в мире ежедневно запускаются миллиарды таких файлов. В том числе разработанные десятилетия назад. И никто ничего менять не собирается!

Эти файлы являются текстовыми, имеют расширение bat или cmd и содержат простейшие команды, понимаемые операционной системой, которые могут быть выполнены в командной строке.

Основные области применения.

Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!

Для меня будет крайне радостно, если вы воспользуетесь хотя бы вариантами 2—4. От вариантов 7 и 8 вам, скорее всего, не уйти.

Какое из двух приведенных расширений использовать? Расширение bat использовалось для DOS (16-разрядный интерпретатор command.com), а cmd возникло для интерпретатора командной строки cmd.exe. Поэтому ряд действий может не производиться из bat-файла, либо исполняться медленнее, хотя большинство пользователей этого никогда не заметит. А bat-файлы рассматриваются Windows в качестве командных.

Некоторые символы в командных файлах нельзя использовать в строках, не заключенных в кавычки, так как они имеют специальное назначение. Например: ( ) ^ & |.

Внимание! Русский текст для корректного исполнения/отображения должен быть набран в кодировке DOS (ASCII), то есть CP866. В FAR вы должны видеть ANSI (Win) на месте подсказки к клавише F8 . Последняя является переключателем кодировки. Либо переопределить ее вызовом списка кодировок клавишей Shift+F8 . Поскольку Блокнот такой возможности не поддерживает, выводы можете сделать сами.

Важный момент связан с запуском неправильно работающей и/или зависшей программой.

Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!

Пример (очень глупый, зато и очень наглядный):

Разберем программу построчно.

@echo off (отключить вывод сообщений)

cls (очистить экран, от CLear Screen)

title Тестирование пакетного файла (Заголовок окна, о котором большинство в спешке и рутине забывает. Естественно, для сиюминутных задач это будет излишеством.)

echo Интересно. (Просто бла-бла на экране)

echo. (Точка означает вывод пустой строки, то есть зрительное отделение)

echo Запуск Блокнота (Информация для пользователя)

start notepad (Запуск программы)

Wordpad (Запуск программы. Cлово start опущено. Расширение (exe) не указано, как и для Блокнота, так как программы находятся в папках, описанных системной переменной PATH.)

pause (выведет фразу «Press any key to continue. » и будет ожидать нажатия, чтобы вы все смогли прочитать.)

exit (закроет окно, иначе придется печатать эту команду руками, либо жать крестик, что для DOS-сессии категорически НЕДОПУСТИМО). Обратите внимание, что в бухгалтерском деле до сих пор используются DOS-приложения. Если вы их закроете крестиком, то почти неизбежна потеря информации или даже разрушение базы данных.

Вывод сообщений

Возможно, что вам нравится, когда компьютер говорит сам с собой, а потом сообщает это же и вам. Мне — нет.

Поэтому первой строкой командного файла следует указывать команду @echo off. Символ @ сообщает интерпретатору, что и о факте отключения эха не надо сообщать пользователю.

Обработка аргументов

Сделав несколько командных файлов для конкретных случаев, многие пользователи обнаруживают, что можно было бы сделать их программы более универсальными, если бы они могли обрабатывать предлагаемые им данные.

Такая возможность предусмотрена:

  • %0 — имя запущенного пакетного файла с путем.
  • %1 — первый переданный аргумент.
  • %2 — второй переданный аргумент.
  • %* — все переданные аргументы одной строкой.

Комментарии

Для включения комментариев в текст вашей программы необходимо начать строку с :: (удвоенное двоеточие) или со слова rem.

При этом сами комментарии могут отражаться на экране, давая вам необходимые пояснения, либо не отображаться совсем (зависит от настройки echo).

Указание после команды знака амперсанда (&) позволяет использовать комментарий после него, то есть для данной строки. Важно, что двоеточия могут блокировать некоторые строки. В этих случаях лучше воспользоваться rem.

Далее, комментарии, внесенные в текст программ для пояснения, будут окрашены .

Некоторые полезные примеры

Не надо пробовать сделать это ручками — замучаетесь. Зачастую проще скопировать строку из готового файла и отредактировать её.

Пример архивации WinRar

Конечно, это можно: 1) каждый раз набирать руками, 2) выполнить настройки в графическом интерфейсе. Но, кажется, глупость подобных действий должна быть очевидной.

Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!

Пример копирования

Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!

Имена файлов и путь

Имена, содержащие пробелы, могут интерпретироваться правильно, но это происходит далеко не всегда. Во избежание проблем, следует всегда заключать их в кавычки:

«C:\Documents and Settings\»

Переменные

Единственное уточнение коснется того, что переменные используются с окружением их знаками процента (%), как это сделано в приведенных ниже примерах.

Читайте также:  Стандартный рукописный шрифт windows

Задание значений переменной осуществляется командой set, например, команда

создаст переменную var, содержащую строку «корова».

Использование ключа /P позволяет осуществить ввод пользователем.

SET /P variable=[строка_подсказки]

Ключ /A позволяет провести вычисления с использованием более двух десятков операторов.

Полная справка о работе команды может быть получена вызовом в командной строке

Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!

Ветвление (If)

Оператор условного выполнения команд IF позволяет производить те или иные действия в зависимости от имеющихся обстоятельств. Последние могут существовать (то есть анализироваться командным файлом), либо задаваться действиями пользователя.

Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!

Метки

Поскольку язык достаточно примитивный и разрабатывался давно, он поддерживает так называемые безусловные переходы (переход к метке) для упрощения решений линейного программирования. Ряд ситуаций за счет этого решается на порядок быстрее и проще, чем в современных языках. Не надо следовать за безголовыми критиками данного подхода, это — данность, которой надо пользоваться.

Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!

Цикл For

По существу, данную конструкцию можно использовать в качестве рубежа необходимых знаний. Особенно учитывая принципиальное отличие от применения в других языках программирования.

Полная справка о работе команды может быть получена вызовом в командной строке

В целом, назначение можно охарактеризовать, как разделение сложных объектов на составляющие путем последовательного перебора.

Для ясности, приведем основные направления использования команды FOR.

  • Обработка массива переменных памяти.
  • Обработка совокупности файлов в папке и/или подпапках.
  • Обработка файла, как совокупность строк.
  • Формирование числовой последовательности (близко к стандартному программному использованию).

Я очень долго обдумывал необходимость включения этой темы в курс обучения в связи с ее противоречивостью. С одной стороны, это, как минимум, на порядок повышает сложность. С другой — на несколько порядков расширяет возможности и «интеллектуальность» создаваемых программ. Перелом произошел при очередной личной необходимости создания диалоговых возможностей для пользователей. Восстановление знаний и попытки разобраться с «записками сумасшедшего», равномерно рассеянными на просторах Интернета, перевесили. Описание будет, но не войдет в очный курс.

Некоторые теоретические предпосылки.

  1. Программа может выполняться очень долго, вплоть до нескольких часов. Пользователь не должен запустить эту процедуру случайно, требуется подтверждение.
  2. Для запуска может потребоваться выбор варианта, например, долгий (архивируем все) или краткий (только файлы *.doc). Суть: тонкая настройка процесса действиями, понятными для рядового пользователя.
  3. Программирование выбора фиксированных существующих мест, то есть, какую из 5 папок обработать типовой процедурой.
  4. Один из моих случаев: создать архив чего (то есть быстро/медленно) и где (локально, в сети или и в обоих расположениях, что также скажется на времени)?
  5. .

Суть меню сводится к формированию поясняющего текста и ожидания от пользователя нажатия на клавишу, результат которого считывается в переменную.

В приведенном ниже примере создано примитивнейшее (но реальное) меню из двух пунктов, контролирующее факт запуска.

Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!

Дополнительный функционал

Сюда будет уходить всякая «экзотика», которая может пригодиться для реализации мелких идей. Это — почти готовые решения и в зачет заданий в чистом виде (без внедрения) они не пойдут.

P.S.! Большинство идей приходят из студенческих работ.

Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:

  1. Студент I/II курса ВХК РАН

Задание для разработки

Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:

  1. Студент I/II курса ВХК РАН

Некоторые полезные ссылки

К сожалению, часть ссылок на очень качественный материал отсюда убрана, так как ресурсы исчезли. Делайте выводы.

  1. CMD/BAT — Форум программистов и сисадминов
  2. Описание основных возможностей сценариев командной строки
  3. Командная строка. Сайт посвящен именно этой теме. Не для рядовых пользователей, но есть много полезных советов.
  4. Командные файлы Windows. Страница значительно расширяет материал и содержит важную информацию.

Список команд Windows ( Windows CMD ) с описанием и примерами.

Командная строка Windows является стандартным средством диагностики, настройки и управления компонентами операционной системы и прикладным программным обеспечением. В отличие от графической среды пользователя, командная строка является более гибким и универсальным инструментом, позволяющим решать многие задачи администрирования системы стандартными средствами Windows без установки дополнительного программного обеспечения.

Способы запуска командной строки

Командная строка Windows может быть запущена как и любое другое стандартное приложение — через Главное меню Windows, с использованием диалога Выполнить (комбинации клавиш Win+R, Win+X), а также с использованием открытия Проводником ( по двойному щелчку ) ярлыка или исполняемого файла C:\WINDOWS\System32\cmd.exe . В результате запуска откроется окно командной строки с приглашением к вводу команд . Приложение cmd.exe часто называют командным процессором или интерпретатором команд, а его основное окно – консолью Windows. Команды консоли представляют собой строку символов, которая может содержать встроенные команды командного процессора (HELP, ECHO и т.п.), имена и пути исполняемых или командных файлов (C:\Windows\System32\ping.exe), а также дополнительные параметры, если они требуются для выполнения конкретной команды (ping.exe yandex.ru). Результаты выполнения команд отображаются в окне консоли Windows и нередко зависят от наличия достаточных прав у текущего пользователя. Для выполнения команд в контексте учетной записи Администратора в операционных системах Windows Vista — Windows 10 необходимо использовать режим Запуск от имени Администратора .

Ссылки на материалы по настройке командной строки и приемах работы с ней размещены в конце страницы.

Справочник по командам CMD Windows

Данная страница представляет собой самый полный документ в русскоязычном сегменте Интернет, содержащий список команд командной строки всех версий Windows. Наименования подавляющего большинства команд являются ссылками и ведут на страницы с подробным их описанием и примерами использования. В разных версиях ОС семейства Windows набор поддерживаемых команд, их параметры командной строки, синтаксис и отображение результатов выполнения могут различаться. Одна и та же утилита командной строки может присутствовать в стандартной поставке одной версии Windows, но отсутствовать в другой, или входить в состав дополнительных средств, как например, Resource Kit или Software Development Kit.

Читайте также:  Building windows web server

На данной странице представлено описание не только внутренних команд CMD, но и стандартных утилит командной строки, входящих в состав конкретных версии операционной системы (ОС) семейства Windows. Некоторые из приведенных команд устарели, и больше не поддерживаются разработчиком или не имеют смысла в современных операционных системах, что отмечается в описании команды.

Список команд постоянно обновляется и включает в себя все новейшие команды, добавляемые в стандартную поставку при выходе новых версий или обновлений ОС Windows 10.

APPEND — позволяет программам открывать файлы данных из указанных папок так, как будто они находятся в текущей папке.

ARP — просмотр и изменение таблиц ARP (Address Resolution Protocol)

ASSOC — просмотр или изменение сопоставлений расширений файлов приложениям

AT — управление планировщиком задач

ATTRIB — изменение атрибутов файлов

Auditpol — управление политиками аудита.

BASH — командная оболочка BASH в подсистеме Windows для Linux (WSL).

BCDBOOT — копирование в системный раздел файлов загрузки и создание нового хранилища конфигурации загрузки (BCD)

BCDEDIT — редактирование хранилища данных конфигурации загрузки (BCD)

BOOTCFG — редактирование параметров загрузки в файле boot.ini

BOOTIM — вызов меню загрузки и восстановления (Выбор действия) Windows 10

BOOTREC — восстановление загрузочных записей и конфигурации загрузки Windows

BOOTSECT — редактирование загрузочных секторов для обеспечения загрузки NTLDR или BOOTMGR

BREAK — включить или выключить обработку комбинации клавиш CTRL+C в DOS

CACLS — редактирование списков управления доступом к файлам (ACL — Access Control List)

CALL — вызов из командного файла подпрограмм или других командных файлов

CD — смена каталога (Change Directory)

CHANGE — изменение настроек сервера терминалов. Контексты — LOGON, PORT, USER

CHGLOGON — изменение настроек сервера терминалов, аналогично CHANGE LOGON

CHGPORT — изменение настроек сервера терминалов, аналогично CHANGE PORT

CHGUSR — изменение настроек сервера терминалов, аналогично CHANGE USER

CHCP — просмотр или изменение текущей кодовой страницы

CHKDSK — проверка диска (Check Disk)

CheckNetIsolation — управление доступом приложений к интерфейсу замыкания на себя (localhost) в Windows 10

CHKNTFS — проверка признака ошибки файловой системы и управление проверкой диска при загрузке Windows

CHOICE — реализация пользовательского ввода в командном файле

CIPHER — отображение или изменение шифрования файлов на томах NTFS

CLEARMGR — управление очисткой дисков Windows

CLIP — перенаправление вывода утилит командной строки в буфер обмена Windows

CLS — очистка экрана в командной строке

CMD — запуск новой копии интерпретатора командной строки

CMDKEY — создание, отображение, удаление и сохранение имен пользователей и паролей

COLOR — изменение цвета текста и фона в окне CMD

COMMAND — запуск новой копии интерпретатора командной строки MS-DOS

COMP — сравнение содержимого файлов

COMPACT — управление сжатием и распаковкой файлов в разделах NTFS

CONVERT — преобразование файловой системы из FAT в NTFS

COPY — копирование файлов и каталогов

Cscript — сервер сценариев Windows с консольным интерфейсом

DATE — отображение или изменение даты

DEBUG — запуск отладчика DOS-Windows XP

DEL — удаление одного или нескольких файлов

DevCon — управление устройствами в командной строке

DIANTZ — тоже что и MAKECAB, создание архивов .cab.

DIR — отображение списка файлов и каталогов

DISKCOMP — сравнение содержимого двух гибких дисков

DISKCOPY — копирование содержимого одного гибкого диска на другой

DISKPART — управление разделами и дисками из командной строки

DISM — управление компонентами образрв WIM.

DISPDIAG — вывод дампов с диагностической информацией о графической подсистеме.

DJOIN — автономное присоединение компьютера к домену.

DOSKEY — редактирование и повторный вызов команд Windows, создание макросов DOSKey

DRIVERQUERY — отобразить информацию об установленных драйверах.

DxDiag — средство диагностики DirectX.

ECHO — вывод текста на экран консоли

EDIT — запуск текстового редактора

ENDLOCAL — конец локальных изменений переменных окружения в командном файле

ERASE — аналогично команде DEL — удаление файлов

ESENTUTL — обслуживание баз данных Extensible Storage Engine для Windows

EVENTCREATE — запись сообщения в журнал событий Windows

EXIT — выход из процедуры или командного файла

EXPAND — распаковка сжатых файлов CAB-файлов.

EXTRACT — извлечение содержимого, распаковка CAB-файлов в Windows (EXTRAC32)

FC — сравнение содержимого файлов

FIND — поиск строки символов в файле

FINDSTR — поиск строк в файлах с использованием регулярных выражений

FOR — организация циклической обработки результатов выполнения других команд, списков, и строк в текстовых файлах

FORFILES — выполнение указанной команды для каждого файла из заданной группы

FSUTIL — управление файловой системой

FTYPE — просмотр и изменение расширений файлов и сопоставленных им приложений

GETMAC — отображение физического адреса сетевого адаптера (MAC-адреса)

GOTO — команда безусловного перехода в командном файле

GPRESULT — отображение результирующей политики (RSoP)

GPUPDATE — обновление групповых политик.

HELP — вызов справки командной строки Windows

HOSTNAME — отображение имени компьютера

iCACLS — управление списками доступа (ACL)

IF — оператор условного выполнения команд в пакетном файле

IPCONFIG просмотр и управление конфигурацией протокола IP

LABEL — редактирование меток тома дисков

LOGMAN — управление монитором оценки производительности системы

LOGOFF — завершение сеанса пользователя

MAKECAB — создание сжатых файлов формата CAB

MBR2GPT — преобразование дисков MBR в GPT

MEM — вывод справки об использовании памяти в MS-DOS

MD — создание нового каталога

MKLINK — создание символической ссылки на файл или каталог

MODE — конфигурирование системных устройств в среде CMD

MORE — постраничный вывод в консоли

MOUNTVOL — управление точками монтирования томов

MOVE — перемещение файлов и каталогов

MOVEFILE — перемещение или удаление занятых файлов при следующей перезагрузке

Читайте также:  Когда выйдет обновление windows 10 1909

MSG — отправка сообщений пользователям.

MSTSC — подключение к удаленному рабочему столу.

NBTSTAT — просмотр статистических данных NETBIOS через TCP/IP (NetBT)

NET — управление ресурсами локальной сети

NETCFG — отображение и изменение конфигурации компонентов сети

NETSH — командная сетевая оболочка (Network Shell)

NETSTAT — отображение статистики сетевых соединений

NSLOOKUP — просмотр данных DNS в командной строке

OPENFILES — управление открытыми по сети или локально файлами

PATH — отображение или изменение путей поиска исполняемых файлов

PATHPING — трассировка маршрута с возможностью оценки качества участков трассы

PAUSE — пауза при выполнении командного файла

PING утилита проверки доступности узла

PKGMGR — управление программными пакетами Windows

PNPUTIL — конфигурирование драйверов устройств PnP

POPD — возврат в каталог, ранее запомненный с помощью команды PUSHD

POWERCFG — настройка параметров системы электропитания Windows

PRINT — печать текстового файла

PROMPT — изменение строки приглашения в консоли

PUSHD — сохранить текущий путь каталога и перейти в указанный

PSR — записать действия пользователя в Windows 7/8/110 ( P roblem S teps R ecorder)

QPROCESS — отобразить состояние процессов

QUERY — опросить состояние процессов и сеансов пользователей

QUSER — отобразить информацию о сеансах пользователей

RASDIAL — управление сеансами удаленного доступа

RASPHONE — управление сеансами удаленного доступа

REAGENTC — адимнистрирование стреды восстановления Windows

RECOVER — восстановление файлов на поврежденном диске

REG — утилита командной строки для работы с реестром Windows

REGEDIT — импорт и экспорт данных реестра Windows

REGSVR32 — регистрация или отмена регистрации DLL

REGINI — управление доступом к разделам реестра

REM — комментарии в командных файлах

REPLACE — замена или добавление файлов в катологах

RESET — сброс сеанса удаленного рабочего стола (RDP сессии)

ROBOCOPY — утилита резервного копирования и синхронизации каталогов (Robust File and Folder Copy)

ROUTE — управление таблицей маршрутизации

RUNAS — запуск приложения от имени другого пользователя

RUNDLL32 — запуск DLL в качестве приложения

SC — управление службами Windows (Service Control)

SCHTASKS — управление планировщиком задач

SCLIST — отображение списка системных служб

SET — отображение и изменение переменных среды окружения Windows

SETLOCAL — установка локальных переменных в командном файле

SETX — утилита для создания системных переменных

SFC — проверка и восстановление системных файлов Windows

SHARE — просмотр, создание и удаление разделяемых в локальной сети ресурсов

SHIFT сдвиг входных параметров для командного файла

SHUTDOWN — выключение или перезагрузка компьютера

SLEEP — задержка по времени в пакетном файле

SLMGR — управление лицензированием программного обеспечения Windows

SORT — сортировка строк в текстовом файле

START — запуск приложения или командного файла

STORDIAG — диагностика системы хранения данных в Windows 10

SUBST — назначение (отмена назначения) каталогу буквы диска

SxSTrace — диагностическое средство трассировки компонент системы

SYSTEMINFO — отображение информации о системе

TAKEOWN — изменение владельца файла или каталога

TAR — архивирование данных архиватором tar в Windows 10

TASKKILL — завершение процессов на локальной или удаленной системе.

TASKLIST — отображение списка выполняющихся приложений и служб Windows

TIME — отображение и установка системного времени

TIMEOUT — задержка в пакетных файлах

TITLE — изменение заголовка окна CMD.EXE

TRACERT — трассировка маршрута к удаленному узлу

TREE — отображение структуры каталога в графическом виде

TSCON — подключение к сессии удаленного рабочего стола (RDP).

TSDISCON — отключение сессии удаленного рабочего стола (RDP).

TSKILL — завершение процессов, адаптированное для среды сервера терминалов (RDP).

TYPE — вывод на экран содержимого текстового файла

TypePerf — вывод сведений о производительности на экран или в журнал

TZUTIL — управление часовыми поясами в среде Windows

VER — отображение версии операционной системы

VERIFY — управление режимом проверки записываемых файлов

VOL — вывод данных метки тома

VSSADMIN — администрирование службы теневого копирования томов.

W32TM — управление службой времени Windows

WAITFOR — организация обмена сигналами между компьютерами

WBADMIN — управление резервным копированием и восстановлением в Windows

WEVTUTIL — управление событиями в Windows

WHERE — определение места расположения файлов

WHOAMI — вывод имени текущего пользователя

WINDIFF — сравнение содержимого файлов

WinMgmt — обслуживание инструментария управления Windows (WMI)

WINRM — удаленное управление Windows из командной строки

WINRS — удаленная командная строка (Remote Shell)

WINSAT — средство проверки производительности Windows

WMIC — выполнение команды WMI в командной строке

WSCollect — получить CAB-файл с копиями журналов Windows 10 на рабочем столе

Wscript — сервер сценариев Windows с графическим интерфейсом

WSL — выполнение команд Linux и конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10

WSLconfig — конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10

XCOPY — копирование файлов и папок

Прочие материалы по работе с командной строкой Windows:

Настройка командной строки Windows. — Как изменить цвет фона, цвет символов, размер и расположение окна командной строки. Копирование и вставка текста в окне консоли. Как настроить дополнение имен файлов и каталогов при наборе в командной строке. Использование функциональных клавиш.

Работа с командной строкой Windows — Основные приемы, используемые при работе в командной строке Windows.

Командные файлы Windows — Общие принципы применения переменных среды в командных файлах. Обработка параметров командной строки. Использование меток, переходов и циклическая обработка данных. Практические примеры решения задач администрирования системы.

Запуск приложений от имени администратора без запроса UAC — Как запустить из командного файла приложение или командный файл без запроса системы контроля учетных записей UAC

Работа с сетью в командной строке. — подробное описание команд CMD Windows для работы с сетью и примеры их использования.

Подсистема Linux в Windows 10 — Использование командной строки Linux в Windows 10.

Оцените статью