Консольні команди Windows NT
Спочатку багато користувачів NT не користуються тими можливостями, які надають команди консолі, або використовують їх в повному обсязі.
команда CMD
Загальний синтаксис команди:
CMD [/ A | / U] [/ Q] [/ D] [/ E: ON | / E: OFF] [/ F: ON | / F: OFF] [/ V: ON | / V: OFF] [[/ S] [/ C | / K] команда]
/ C (/ K) - Виконання зазначеної команди с / без подальшого завершення.
Виконання зазначеної команди без подальшого завершення.
/ S - Зміна поведінки після / C або / K (див. Нижче).
/ Q - Відключення режиму виведення команд на екран (ECHO).
/ D - Відключення виконання команд AutoRun з реєстру (див. Нижче).
/ A (/ U) - Висновок результатів виконання команд в форматі ANSI / UNICODE.
/ T: кол - Вибір кольору тексту / фону (детальніше див. Опис COLOR нижче).
/ E: ON (/ E: OFF) - Дозвіл / заборона розширень команд (див. Нижче).
/ F: ON (/ F: OFF) - Дозвіл / заборона символів завершення імен файлів і папок (див. Нижче).
/ V: ON (/ V: OFF) - Дозвіл / заборона відкладеного розширення змінних середовища із застосуванням символу '!' як роздільник. Наприклад, / V: ON дозволяє використовувати! Var! як розширення змінної var під час виконання. Синтаксис var служить для розширення змінних при введенні, що призводить до зовсім інших результатів всередині циклу FOR.
Параметр COLOR. Атрибути квітів задаються у вигляді ДВОХ шістнадцятирічних цифр - перша задає колір фону, а друга визначає колір тексту. Кожна цифра може мати наступні значення: 0 = чорний, 1 = синій, 2 = зелений, 3 = блакитний, 4 = червоний, 5 = ліловий, 6 = жовтий, 7 = білий, 8 = сірий, 9 = світло-синій, А = світло-зелений, В = світло-блакитний, C = світло-червоний, D = світло-ліловий, E = світло-жовтий, F = яскраво-білий.
Якщо аргумент не вказано, команда відновлює вихідний вибір кольорів, яким він був на момент запуску CMD.EXE. Це значення витягується з поточного текстового вікна, з значення ключа / T або з значення параметра реєстру DefaultColor.
Команда COLOR повертає значення коду помилки ERRORLEVEL 1 при спробі виклику цієї команди з однаковими значеннями кольору тексту і кольору фону.
Приклад: "COLOR fc" задає світло-червоний текст на яскраво-білому тлі.
Щоб вказати в одному рядку кілька команд, слід розділити їх символами '' і взяти в лапки. Крім того, з міркувань сумісності, / X означає те ж, що і / E: ON, / Y - те саме, що і / E: OFF, і / R - те саме, що і / C. Всі інші параметри командного рядка ігноруються.
Якщо вказані ключі / C або / K, то інша частина командного рядка після такого ключа обробляється як командний рядок, а обробка символів лапок ( ") ведеться за такими правилами:
1. Якщо існують такі умови, то символи лапок в командному рядку зберігаються:
- ключ / S відсутня;
- є рівно два символу лапок;
- між ними немає інших спеціальних символів, як то: <>() @ ^ |;
- між ними є один або кілька пробілів;
- рядок, укладена в лапки, є ім'ям виконуваного файлу.
2. В іншому випадку перевіряється перший символ, і якщо він є символом лапок, то він видаляється, також видаляється останній символ лапок в командному рядку, а весь текст після цього останнього символу лапок зберігається.
Якщо ключ / D не вказано в командному рядку, то при запуску CMD.EXE виконується перевірка значень змінних REG_SZ або REG_EXPAND_SZ для наступних розділів системного реєстру:
HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorAutoRun
і / або
HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorAutoRun
і якщо одна з них або обидві вони присутні, то спочатку виконуються вони.
За замовчуванням розширена обробка команд включена. Щоб заборонити розширену обробку для конкретного виклику, використовується ключ / E: OFF.
Можна включити або відключити розширену обробку команд для всіх викликів CMD.EXE на даному комп'ютері або для даного користувача, за допомогою REGEDT32.EXE задавши значення REG_DWORD в системному реєстрі для розділів:
HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorEnableExtensions
і / або
HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorEnableExtensions,
рівними 0x1 або 0x0. Параметри користувача перекривають параметри комп'ютера.
Ключі командного рядка, в свою чергу, перекривають параметри реєстру.
Відкладене розширення змінних середовища за замовчуванням не включено. Його можна включити або відключити для конкретного виклику CMD.EXE за допомогою ключів / V: ON або / V: OFF, або ж за допомогою REGEDT32.EXE задавши значення REG_DWORD в системному реєстрі для розділів:
HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorDelayedExpansion
і / або
HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorDelayedExpansion
рівними 0x1 або 0x0. Параметри користувача, як уже говорилося вище, перекривають параметри комп'ютера, також і ключі командного рядка, в свою чергу, перекривають параметри реєстру.
Якщо відкладене розширення змінних середовища включено, то символ '!' (Знак оклику) може використовуватися для заміни поточного значення змінної середовища під час виконання.
Включення / вимикання відкладеного розширення змінних середовища для всіх викликів CMD.EXE на даному комп'ютері або для даного користувача можливо за допомогою REGEDT32.EXE при значенні REG_DWORD в системному реєстрі для наступних розділів:
HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorCompletionChar,
HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorPathCompletionChar
і / або
HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorCompletionChar,
HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorPathCompletionChar,
встановивши їх шістнадцяткові значення рівними коду керуючого символу, використовуваного для конкретної функції (наприклад, 0x4 для Ctrl-D або 0x6 для Ctrl-F). Знову ж, параметри користувача перекривають параметри комп'ютера; ключі командного рядка, в свою чергу, перекривають параметри реєстру.
Завершення імен файлів і папок також не включене за замовчуванням. Це можна виправити за допомогою ключів / F: ON або / F: OFF.
Якщо завершення включено за допомогою ключа командного рядка / F: ON, то використовуються два керуючих символу: Ctrl-D для імен папок і Ctrl-F для імен файлів. Щоб відключити конкретний символ завершення в системному реєстрі, в якості коду спеціального символу використовується шістнадцяткове значення символу пробілу (0x20).
Завершення викликається при введенні одного з цих двох спеціальних символів. Функція завершення бере рядок шляху зліва від точки введення, дописує до неї символ шаблону, якщо такий відсутній, а потім будує список шляхів, які відповідають отриманому визначенням. Після цього виводиться перший елемент цього списку відповідних шляхів. Якщо ж список порожній, то подається звуковий сигнал і нічого не виводиться.
Після цього знову ввести того ж самого спеціального символу призводить до циклічного перебору всіх відповідних шляхів. натискання клавіші
Символ завершення правильно працює і з іменами файлів, що містять пробіли або інші спеціальні символи, якщо при цьому рядок відповідності укладена в лапки. Крім того, якщо змістити точку введення вліво, а потім використовувати символ завершення всередині рядка, що залишився праворуч від точки введення текст буде відкинутий.
Спеціальні символи, які вимагають обов'язкового укладення в лапки:
<пробел>() []<>^ =;! '+', '
команда PROMT
Зміна запрошення командного рядка cmd.exe.
PROMPT [текст], де текст - нове запрошення командного рядка. Запрошення може включати звичайні символи і наступні коди:
$ A - (Амперсанд);
$ B - | (Вертикальна риса);
$ C - ((ліва кругла дужка);
$ D - Поточна дата;
$ E - ESC (символ ASCII з кодом 27);
$ F -) (права кругла дужка);
$ G -> (знак "більше");
$ H - BACKSPACE (видалення попереднього символу);
$ L - <(знак "меньше");
$ N - Поточний диск;
$ P - Поточні диск і каталог;
$ Q - = (знак рівності);
$ S - (пропуск);
$ T - Поточний час;
$ V - Номер версії Windows XP;
$ _ - Повернення каретки і переведення рядка;
$$ - $ (символ долара).
Коли розширена обробка команд включена, то команда PROMPT підтримує такі додаткові символи форматування:
$ + - відображення потрібного числа знаків плюс (+) в залежності від поточної глибини стека каталогів PUSHD, по одному знаку на кожен збережений шлях;
$ M - відображення повного імені віддаленого носія, пов'язаного з ім'ям поточного диска, або порожнього рядка, якщо поточний диск не є мережевим. Наприклад, якщо диск E: підключено до мережного ресурсу \ ServerPrograms, то при команді PROMT $ M $ P $ G формат запрошення командного рядка буде наступний: \ ServerPrograms E:>.
FM, [email protected]
Далі буде