Программы и файлы Windows.
Cmd.EXE.
Местонахождение: Windows\system32.
Описание: Windows Command Processor.
В Windows XP имеется так называемая консоль - программа Cmd.exe, которая является командным интерпретатором. При простом запуске, без указания параметров командной строки, консоль отображает версию операционной системы, информацию о защите авторских прав разработчиков ОС и саму командную строку, в которой можно ввести как параметр командной строки самой программы Cmd.exe, так и любую внешнюю команду, например, команду на запуск другого приложения или стандартную команду, типа mkdir, del и т. п.Параметры командной строки.
Синтаксис для командной строки:
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF] [[/S] [/C | /K] команда].
Можно использовать одновременно несколько команд, используя между ними специальный разделитель - символы &&, при этом все сочетание нескольких команд должно быть заключено в кавычки, например, "команда&&команда&& команда".
/? - вызов справки.
/A - вывод результатов выполнения заданной команды в формате ANSI.
/C - выполнение заданной команды с последующим закрытием окна консоли.
/D - отключение выполнения команд AutoRun (которые первыми автоматически выполняются при вызове cmd.exe), заданных в специальных разделах реестра HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun и HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun.
/E:ON (/E:OFF) - разрешение (запрет) расширений команд. В Windows XP по умолчанию включена расширенная обработка всех команд cmd.exe, этот параметр служит для включения / выключения расширений конкретного процесса. Расширенная обработка включает следующие команды: assoc, call, chdir (cd), color, del (erase), endlocal, for, ftype, goto, if, mkdir (md), popd, prompt, pushd, set, setlocal, shift, start (изменен также вызов внешних команд).
/F:ON (/F:OFF) - разрешение (запрет) завершения имен файлов и папок (по умолчанию выключено) конкретного вызова cmd.exe. Довольно удобная функция, позволяющая не вводить полностью вручную в окне консоли пути к файлам или имена самих папок, а ввести только часть длинного пути и с помощью нажатия специальной комбинации клавиш дать операционной системе найти подходящие варианты и просто выбрать нужный. (Если необходимо включить или отключить завершение имен для всех вызовов cmd.exe, то смотри Автонабор команд).
Параметры пользователя имеют приоритет над параметрами компьютера, значение параметра /F командного процессора имеет приоритет над параметрами реестра. Microsoft вносит некоторые разъяснения по поводу использования этой функции: "Если завершение включено с помощью ключа командной строки / F:ON, то используются два управляющих символа: Ctrl+D для имен папок и Ctrl+F для имен файлов.
Чтобы отключить конкретный символ завершения в системном реестре, в качестве кода специального символа используется шестнадцатеричное значение символа пробела (0 x 20). Завершение вызывается при вводе одного из этих двух специальных символов. Функция завершения берет строку пути слева от точки ввода, дописывает к ней символ шаблона, если таковой отсутствует, а затем строит список путей, которые соответствуют полученному определению.
После этого выводится первый элемент этого списка соответствующих путей. Если же список пуст, то подается звуковой сигнал, и ничего не выводится. После этого повторный ввод того же самого специального символа приводит к циклическому перебору всех соответствующих путей.
Нажатие клавиши Shift при вводе управляющего символа позволяет просматривать список путей в обратном порядке. Если изменить выведенный путь, а затем снова ввести управляющий символ, сохраненный список очищается, и строится новый список путей. То же самое происходит, если переключиться с одного символа завершения на другой.
Единственное отличие при использовании символа завершения файла состоит в том, что при этом для построения списка соответствия берется и путь, и имя файла, а при использовании символа завершения папки - только путь. Если символ завершения используется в одной из встроенных команд манипулирования папками (CD, MD или RD), то всегда подразумевается символ завершения папок. Символ завершения правильно работает и с именами файлов, содержащими пробелы или иные специальные символы, если при этом строка соответствия заключена в кавычки.
Кроме того, если сместить точку ввода влево, а затем использовать символ завершения внутри строки, оставшийся справа от точки ввода текст будет отброшен. Специальные символы, которые требуют обязательного заключения в кавычки: <пробел>&()[]{}^=;!'+,~". Все понятно?
/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 \\Server\Share\*.doc C:\User\Common\*.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:\temp\patch.exe "%i\C$\program files\ICQ".Переменная %i будет автоматически принимать значение NetBIOS-имени машины из новой строки файла list.txt и на эту машину будет производиться копирование.
Реестр:
Изменение вида приглашения командной строки.
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
- 75.
- 76.
- 77.
- 78.
- 79.
- 80.
- 81.
- 82.
- 83.
- 84.
- 85.
- 86.
- 87.
- 88.
- 89.
- 90.
- 91.
- 92.
- 93.
- 94.
- 95.
- 96.
- 97.
- 98.
- 99.
- 100.
- 101.
- 102.
- 103.
- 104.
- 105.
- 106.
- 107.
- 108.
- 109.
- 110.
- 111.
- 112.
- 113.
- 114.
- 115.
- 116.
- 117.
- 118.
- 119.
- 120.
- 121.
- 122.
- 123.
- 124.
- 125.
- 126.
- 127.
- 128.
- 129.
- 130.
- 131.
- 132.
- 133.
- 134.
- 135.
- 136.
- 137.
- 138.
- 139.
- 140.
- 141.
- 142.
- 143.
- 144.
- 145.
- 146.
- 147.
- 148.
- 149.
- 150.
- 151.
- 152.
- 153.
- 154.
- 155.
- 156.
- 157.
- 158.
- 159.
- 160.