А. Климов - Программы и файлы Windows
/K - выполнение заданной команды без последующего завершения (окно консоли не закроется)
/Q - отключение вывода команд на экран (ECHO OFF). /R - аналогичен параметру /C
/S - изменение поведения команды после /C или /K
/T:цвет - задание цвета текста и фона окна консоли. Параметр цвет имеет значение в виде двух шестнадцатеричных чисел: первое определяет цвет фона окна, а второе - текста в окне. То есть результатом выполнения команды "CMD /T:7С" будут светло-красные буквы на белом фоне.
/U - вывод результатов выполнения команды в формате Unicode
/V:ON (/V:OFF) - разрешение (запрет) отложенного расширения переменных среды (для конкретного вызова cmd.exe) с применением восклицательного знака "!" в качестве разделителя. Например, /V:ON разрешает использовать !var! в качестве расширения переменной var во время выполнения. Синтаксис var служит для расширения переменных при вводе, что приводит совсем к другим результатам внутри цикла FOR. При включенном отложенном расширении переменных среды символ "!" (восклицательный знак) может использоваться для замены текущего значения переменной среды во время выполнения; /X - означает то же, что и ключ /E:ON, из соображений совместимости; /Y то же, что и /E:OFF. И еще несколько замечаний.
Если указаны ключи /C или /K, то остальная часть командной строки после такого ключа обрабатывается как командная строка, а обработка символов кавычек (") ведется таким образом. Символы кавычек в командной строке сохраняются, если выполняются все перечисленные ниже условия: ключ /S отсутствует; есть ровно два символа кавычек; между ними нет других специальных символов, как то: &<>()@^|; между ними имеются один или несколько пробелов; строка, заключенная в кавычки, является именем исполняемого файла. В противном случае проверяется первый символ, и если он является символом кавычек, то он удаляется, также удаляется последний символ кавычек в командной строке, а весь текст после этого последнего символа кавычек сохраняется.
Таблица для задания цвета текста и фона окна консоли:
0 - черный; 1 - синий; 2 - зеленый; 3 - голубой; 4 - красный; 5 - лиловый; 6 - желтый; 7 - белый; 8 - серый; 9 - светло-синий; A - светло-зеленый; B - светло-голубой; C - светло-красный; D - светло-лиловый; E - светло-желтый; F - ярко-белый.
Кстати, цвет и другие настройки можно изменять и другим способом. Щелкните правой кнопкой мыши по строке заголовка окна и выберите пункт Свойства. Откроется окно с четырьмя вкладками, на которых будут доступны опции изменения настроек программы. Если вам не нравится стандартный черный экран командной строки, то на вкладке Color вам предлагается выбрать цвет экрана и текста либо из 16 стандартных цветов, для которых имеется соответствующие образцы, либо задав числовое значение цвета в формате RGB. На вкладке Layout настраивается размер окна и экранного буфера. Если в ранних ОС MS-DOS и Windows размер экрана оставался неизменным 25 строк в высоту и 80 символов в длину, и для вывода большего количества строк приходилось добавлять команду |more, то в системах NT и более поздних можно просто задать достаточно большой размер буфера экрана и пользоваться полосой прокрутки, что гораздо удобнее.
Текст в окне командной строки Для копирования и вставки текста в окно командной строки обычные для Windows комбинации клавиш, такие как Ctrl+C, Ctrl+V, работать не будут. Для извлечения текста из буфера обмена вам придется вызвать меню, щелкнув правой кнопкой мыши по заголовку окна, и выбрать подменю Edit. Или же просто щелкните правой кнопкой по окну. Для копирования текста из окна выберите пункт Mark и мышью выделите нужный текст. Затем либо нажмите Enter, либо в том же меню выберите Copy. Если надо вставить какой-то текст в окно командной строки, обратитесь к команде Paste. Для повторного выполнения команды воспользуйтесь стрелками <<вверх>> и <<вниз >>, позволяющими перемещаться по списку выполненных команд. Для очистки экрана от текста служит директива cls.
Команды:
TITLE - для изменения заголовка строки
TITLE [строка], где строка - это будущий заголовок окна командной строки (записывается без кавычек). После задания заголовка окна он может быть изменен только повторным вызовом команды TITLE. Использование данной команды может быть полезно в командных файлах.
Так, выполнение примера, который приведен ниже, будет сопровождаться появлением соответствующей надписи в заголовке окна:
@ECHO OFF
TITLE Копируются файлы...
COPY \ServerShare*.doc C:UserCommon*.doc
ECHO Копирование закончено.
TITLE Процесс завершен
Команда АТ - С помощью этой команды можно запускать команды и программы в определенное время.
AT [\имя компьютера] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\имя компьютера] time [/INTERACTIVE] [ /EVERY:дата[,...] | /NEXT:дата [,...]] "команда"
\ имя компьютера указывает на удаленный компьютер, на котором могут быть запущены планируемые задачи. Если этот параметр не указан, то по умолчанию предполагается тот компьютер, на котором запускается команда АТ;
id идентификатор, назначенный указанной команде;
/delete отменяет намеченную команду. Если id опущен, все назначенные команды на компьютере отменены;
/yes этот параметр в случае использования с предыдущим параметром (/delete) автоматически включает подтверждение для всех запросов;
time время выполнения команды (в 24-часовом формате часы:минуты);
/interactive позволяет команде AT обмениваться с подключенными на данный момент в системе пользователями;
/every:дата[,...] выполняет команду в каждый указанный день (дни) недели или месяц. Если дата опущена, подразумевается текущий день месяца;
/next:дата[...] выполняет указанную команду при следующем наступлении указанной даты (например, в следующий четверг). Если дата не указанна, по умолчанию принимается текущий день месяца;
"команда" указывается команда Windows NT или пакетная программа, которая будет выполнена. Имя файла должно указываться полностью. При этом, если выполняется какая-либо из внутренних команд, например, COPY или DIR, а не исполняемый файл, то необходим запуск командного интерпретатора с ключом / С, например:
AT 10:00 "CMD /C DIR > C:test.out.
Команда For - Ее возможности обширны, но мы ограничимся демонстрацией лишь одной из них - Копирование по сети на все машины сразу. Допустим, что требуется скопировать файл на двадцать машин. Делается это очень быстро. Сначала в файл list.txt записываем список всех имеющихся в сети машин. В консоли пишем:
net view > c:list.txt
Затем, чтобы выполнить, например, копирование файла patch.exe на каждую машину из списка, даем команду:
FOR /F "tokens=1" %i in (с:list.txt) do copy d:temppatch.exe "%iC$program filesICQ"
Переменная %i будет автоматически принимать значение NetBIOS-имени машины из новой строки файла list.txt и на эту машину будет производиться копирование.
Реестр:
Изменение вида приглашения командной строки
cmstp.exe
Местонахождение: WINDOWSsystem32
Описание: Microsoft Connection Manager Profile Installer
Установка или удаление профиля службы диспетчера подключений. Выполненная без параметров команда cmstp устанавливает профиль службы со стандартными параметрами, соответствующими данной операционной системе и разрешениям пользователя.
Описание программы есть в Справке Windows
comp.exe
Местонахождение: WINDOWSsystem32
Описание: File Compare Utility
Побайтное сравнение двух или нескольких файлов. Команда comp позволяет сравнивать файлы, находящиеся на разных дисках и в разных каталогах. При сравнении файлов с помощью команды comp выводятся их имена и расположения. Выполненная без параметров команда comp запрашивает файлы для сравнения.
Описание программы есть в Справке Windows
Синтаксис:
comp [файл1] [файл2] [/d] [/a] [/l] [/n=кол_строк] [/c]
Примеры:
Чтобы сравнить содержимое каталога C:Reports с содержимым каталога резервных копий \SalesBackupApril, введите следующую команду:
comp c:reports \salesbackupapril
Чтобы сравнить первые десять строк файлов в каталоге Invoice и вывести результат в десятичном формате, введите следующую команду: