Командный файл cmd windows

Пакетные и командные файлы (*. bat и *.cmd)

Посетителей: 191844 | Просмотров: 284514 (сегодня 6) Шрифт:

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

Пакетные файлы (*.cmd или *.bat) могут быть выполнены на различных стадиях установки Windows. Использование пакетных файлов помогает автоматизировать выполнение нескольких заданий. При этом никакого вмешательства пользователя не требуется.

Эти файлы могут быть выполнены из cmdlines.txt, svcpack.inf, RunOnceEx раздела в реестре, или из секции [GuiRunOnce] в файле winnt.sif. Мы подробнее разберем различные варианты чуть позже.

Типичное содержимое пакетного файла

Пакетные файлы поддерживают все команды, которые могут быть выполнены из командной строки. Чтобы увидеть командую строку достаточно проделать следующее: Пуск->Выполнить->cmd->ОК

Давайте попробуем сделать простенький пакетный файл. Откройте Блокнот и скопируйте туда следующий текст:

title Batch File Testing
echo Hello World
echo.
echo Starting Notepad
start notepad
echo.
echo Starting Wordpad
start Wordpad
echo.
pause
exit

Сохраните файл с любым именем и в любом месте. Убедитесь, что вы назначили расширение *.cmd (а не .txt, которое Блокнот присвоит по умолчанию). Теперь запустите ваш файл. Вы увидите, что он назначит окну имя «Batch File Testing», запустит Блокнот и WordPad, попросит нажать любую клавишу для продолжения работы и закроет окно.

Что означают команды, использованные в данном файле?

@echo off

Скрывает строку C:\> и все команды, используемые в пакетном файле

echo.

Создает пробел между строками

echo message

Отображает сообщение в окне, исключительно с информационными целями

title

start

Запускает приложение или установочный процесс

pause

Отображает сообщение «Press any key to continue. » («Нажмите любую клавишу для продолжения. «)

exit

Закрывает командную строку

Когда вы начнете добавлять приложения для автоматической установки с инсталляционного диска XP, вы увидите, что в большинстве случаев команды будет выглядеть примерно так:

start /wait %systemdrive%\install\some_application\setup.exe /ключ /еще ключ

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

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

Изменение цветовой гаммы

Во время установки окно, с выполняющимися командами, будет выглядеть так. Несколько мрачновато, но это можно разнообразить, сделав фон и шрифт цветными при помощи команды color хх . Атрибуты цветов задаются в виде двух шестнадцатеричных цифр — первая задает цвет фона, а вторая определяет цвет текста. Каждая цифра может иметь следующие значения:

Таким образом, для ярко-белого шрифта и голубого фона вы используете color 9F .

Чтобы посмотреть, как это выглядит на практике, скопируйте текст в блокнот и сохраните файл как colors.cmd.

cls
@echo off
Title Graphics group is being installed now
color 9F
ECHO Adobe Photoshop 7.0
ECHO ACDSee 6.0.3
PAUSE
Title Internet group is being installed now
color 57
ECHO Stay Connected! 3.5
ECHO MSN Messenger 6.2
PAUSE
EXIT

Примечание: команда PAUSE дана исключительно для того, чтобы можно было рассмотреть все получше. В реальном файле установка пойдет без остановки. В данном примере подается идея группировки приложений по типу (Графика, Интернет) и назначения им различных цветовых групп. Чтобы очистить экран перед каждой группой можно вставлять @CLS перед строкой Title.

cmdlines.txt, svcpack.inf и [GuiRunOnce]

Пакетные файлы могут быть запущены из cmdlines.txt или svcpack.inf, которые будут исполнены на Т-13/Т-12 этапе установки Windows (Т-13 означает 13 минут до окончания установки).cmdlines.txt удобен для таких задач как Добавление Пользователей, или для импортирования заранее подготовленных ключей реестра HKEY_CURRENT_USER в профиль по умолчанию (Default Profile). Подробнее о cmdlines.txt можно почитать в соответствующей статье в разделе Справочник.

Метод svcpack.inf, как правило, используется для установки обновлений (хотфиксов). Однако ничто не мешает рассматривать пакетный файл как еще один хотфикс.

Пример пакетного файла, запущенного из [GuiRunOnce] (скриншот).

Как вы видите, здесь используется комбинация ECHO и ECHO Message . Делать это не обязательно, но рекомендуется, т.к. дает возможность видеть, как происходит процесс инсталляции приложений в реальном времени. [GuiRunOnce] запускается при первом входе в систему.

Читайте также:  Ваш процессор предназначен для последней версии windows как убрать

cmd cmd

Запускает новый экземпляр интерпретатора команд Cmd.exe. Starts a new instance of the command interpreter, Cmd.exe. Если используется без параметров, Команда cmd отображает версию и сведения об авторских правах операционной системы. If used without parameters, cmd displays the version and copyright information of the operating system.

Синтаксис Syntax

Параметры Parameters

Параметр Parameter Описание Description
/C /c Выполняет команду, указанную в строке , а затем останавливается. Carries out the command specified by string and then stops.
/k /k Выполняет команду, указанную в строке , и продолжит. Carries out the command specified by string and continues.
/s /s Изменяет обработку строки после /c или /k. Modifies the treatment of string after /c or /k.
/q /q Отключает вывод. Turns the echo off.
/d /d Отключает выполнение команд AutoRun. Disables execution of AutoRun commands.
/a /a Форматирует выходные данные внутренней команды в канал или файл как Американский национальный институт стандартов (ANSI) (ANSI). Formats internal command output to a pipe or a file as American National Standards Institute (ANSI).
/U /u Форматирует выходные данные внутренней команды в канал или файл в Юникоде. Formats internal command output to a pipe or a file as Unicode.
/t: < | > /t: < | > Задает цвета фона (b) и переднего плана (f). Sets the background (b) and foreground (f) colors.
/e: вкл. /e:on Включает расширения команд. Enables command extensions.
/e: выкл. /e:off Отключает расширения команд. Disables commands extensions.
/f: вкл. /f:on Включает завершение имени файла и каталога. Enables file and directory name completion.
/f: выкл. /f:off Отключает завершение имен файлов и каталогов. Disables file and directory name completion.
/v: вкл. /v:on Включает отложенное расширение переменных среды. Enables delayed environment variable expansion.
/v: выкл. /v:off Отключает отложенное расширение переменных среды. Disables delayed environment variable expansion.
Указывает команду, которую требуется выполнить. Specifies the command you want to carry out.
/? /? Отображение справки в командной строке. Displays help at the command prompt.

В следующей таблице перечислены допустимые шестнадцатеричные цифры, которые можно использовать в качестве значений для параметров и . The following table lists valid hexadecimal digits that you can use as the values for and :

Значение Value Color Color
0 0 Черный Black
1 1 Синий Blue
2 2 Зеленый Green
3 3 Aqua Aqua
4 4 Красный Red
5 5 Сиреневый Purple
6 6 Желтый Yellow
7 7 Белый White
8 8 Серый Gray
9 9 Светло-синий Light blue
а a светло-зеленый Light green
b b Светло-голубой Light aqua
с c Светло-красный Light red
d d Светло-фиолетовый Light purple
й e Светло-желтый Light yellow
f f Светлое белое Bright white

Remarks Remarks

Чтобы использовать несколько команд для , разделите их по разделителю команд && и заключите их в кавычки. To use multiple commands for , separate them by the command separator && and enclose them in quotation marks. Пример: For example:

При указании параметра /c или /k, Команда cmd , оставшаяся часть строки и кавычки сохраняются только при соблюдении всех следующих условий. If you specify /c or /k, cmd processes, the remainder of string, and the quotation marks are preserved only if all of the following conditions are met:

Кроме того, не используется параметр /s. You don’t also use /s.

Вы используете ровно один набор кавычек. You use exactly one set of quotation marks.

В кавычки не используются специальные символы (например, & () @ ^ |). You don’t use any special characters within the quotation marks (for example: & ( ) @ ^ | ).

В кавычках используется один или несколько пробельных символов. You use one or more white-space characters within the quotation marks.

Строка в кавычках — это имя исполняемого файла. The string within quotation marks is the name of an executable file.

Если предыдущие условия не выполнены, строка обрабатывается путем проверки первого символа, чтобы проверить, является ли он открывающей кавычкой. If the previous conditions aren’t met, string is processed by examining the first character to verify whether it is an opening quotation mark. Если первый символ является открывающей кавычкой, он удаляется вместе с закрывающей кавычкой. If the first character is an opening quotation mark, it is stripped along with the closing quotation mark. Любой текст, следующий за закрывающими кавычками, сохраняется. Any text following the closing quotation marks is preserved.

Если не указать параметр /d в строке, Cmd.exe ищет следующие подразделы реестра: If you don’t specify /d in string, Cmd.exe looks for the following registry subkeys:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun\REG_EXPAND_SZ HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun\REG_EXPAND_SZ

Если имеется один или оба подраздела реестра, они выполняются перед всеми остальными переменными. If one or both registry subkeys are present, they’re executed before all other variables.

Неправильное изменение реестра может серьезно повредить систему. Incorrectly editing the registry may severely damage your system. Перед внесением изменений следует сделать резервную копию всех ценных данных на компьютере. Before making changes to the registry, you should back up any valued data on the computer.

Вы можете отключить расширения команд для определенного процесса, используя /e: Off. You can disable command extensions for a particular process by using /e:off. Вы можете включить или отключить расширения для всех параметров командной строки cmd на компьютере или сеансе пользователя, задав следующие значения REG_DWORD . You can enable or disable extensions for all cmd command-line options on a computer or user session by setting the following REG_DWORD values:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD

Присвойте параметру REG_DWORD значение 0 × 1 (включено) или 0 × 0 (отключено) в реестре с помощью Regedit.exe. Set the REG_DWORD value to either 0×1 (enabled) or 0×0 (disabled) in the registry by using Regedit.exe. Заданные пользователем параметры имеют приоритет над параметрами компьютера, а параметры командной строки имеют приоритет над параметрами реестра. User-specified settings take precedence over computer settings, and command-line options take precedence over registry settings.

Неправильное изменение реестра может серьезно повредить систему. Incorrectly editing the registry may severely damage your system. Перед внесением изменений следует сделать резервную копию всех ценных данных на компьютере. Before making changes to the registry, you should back up any valued data on the computer.

При включении расширений команд затрагиваются следующие команды: When you enable command extensions, the following commands are affected:

assoc assoc

call call

chdir (CD) chdir (cd)

color color

Del (стирание) del (erase)

endlocal endlocal

for for

ftype ftype

goto goto

if if

mkdir (MD) mkdir (md)

popd popd

prompt prompt

pushd pushd

set set

setlocal setlocal

shift shift

Start (также включает изменения во внешние командные процессы) start (also includes changes to external command processes)

При включении отложенного расширения переменных среды можно использовать символ восклицательного знака для замены значения переменной среды во время выполнения. If you enable delayed environment variable expansion, you can use the exclamation point character to substitute the value of an environment variable at run time.

По умолчанию завершение имени файла и каталога не включено. File and directory name completion is not enabled by default. Можно включить или отключить завершение имени файла для определенного процесса команды cmd с параметром /f:<On | Off>. You can enable or disable file name completion for a particular process of the cmd command with /f:<on | off>. Можно включить или отключить завершение имени файла и каталога для всех процессов команды cmd на компьютере или сеанса входа пользователя, задав следующие значения REG_DWORD . You can enable or disable file and directory name completion for all processes of the cmd command on a computer or for a user logon session by setting the following REG_DWORD values:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD

Чтобы задать значение REG_DWORD , выполните Regedit.exe и используйте шестнадцатеричное значение управляющего символа для конкретной функции (например, 0 × 9 — TAB, а 0 × 08 — это BACKSPACE). To set the REG_DWORD value, run Regedit.exe and use the hexadecimal value of a control character for a particular function (for example, 0×9 is TAB and 0×08 is BACKSPACE). Заданные пользователем параметры имеют приоритет над параметрами компьютера, а параметры командной строки имеют приоритет над параметрами реестра. User-specified settings take precedence over computer settings, and command-line options take precedence over registry settings.

Неправильное изменение реестра может серьезно повредить систему. Incorrectly editing the registry may severely damage your system. Перед внесением изменений следует сделать резервную копию всех ценных данных на компьютере. Before making changes to the registry, you should back up any valued data on the computer.

Если включить завершение имен файлов и каталогов с помощью /f: on, используйте сочетание клавиш CTRL + D для завершения имен каталогов и Ctrl + f для завершения имени файла. If you enable file and directory name completion by using /f:on, use CTRL+D for directory name completion and CTRL+F for file name completion. Чтобы отключить определенный символ завершения в реестре, используйте значение пробела [0 × 20], так как оно не является допустимым управляющим символом. To disable a particular completion character in the registry, use the value for white space [0×20] because it is not a valid control character.

При нажатии клавиш CTRL + D или CTRL + F обрабатывается завершение имени файла и каталога. Pressing CTRL+D or CTRL+F, processes the file and directory name completion. Эти функции сочетания клавиш добавляют символ-шаблон к строке (если он отсутствует), формирует список совпадающих путей, а затем отображает первый соответствующий путь. These key combination functions append a wildcard character to string (if one is not present), builds a list of paths that match, and then displays the first matching path.

Если ни один из путей не соответствует, функция завершения имени файла и каталога выдает звуковой сигнал и не изменяет отображение. If none of the paths match, the file and directory name completion function beeps and does not change the display. Для перемещения по списку совпадающих путей нажмите клавиши CTRL + D или CTRL + F несколько раз. To move through the list of matching paths, press CTRL+D or CTRL+F repeatedly. Для перемещения по списку назад нажмите клавишу SHIFT и CTRL + D или CTRL + F одновременно. To move through the list backwards, press the SHIFT key and CTRL+D or CTRL+F simultaneously. Чтобы отменить сохраненный список совпадающих путей и создать новый список, измените строку и нажмите клавиши CTRL + D или CTRL + F. To discard the saved list of matching paths and generate a new list, edit string and press CTRL+D or CTRL+F. Если переключиться между сочетаниями Ctrl + D и CTRL + F, сохраненный список соответствующих путей отбрасывается и создается новый список. If you switch between CTRL+D and CTRL+F, the saved list of matching paths is discarded and a new list is generated. Единственное различие между сочетаниями клавиш Ctrl + d и Ctrl + f заключается в том, что сочетание клавиш Ctrl + d соответствует именам каталогов, а сочетание клавиш CTRL + F соответствует именам файлов и каталогов. The only difference between the key combinations CTRL+D and CTRL+F is that CTRL+D only matches directory names and CTRL+F matches both file and directory names. Если вы используете автозаполнение имен файлов и каталогов во всех встроенных командах каталога (т. е. CD, MD или RD), предполагается завершение каталога. If you use file and directory name completion on any of the built-in directory commands (that is, CD, MD, or RD), directory completion is assumed.

Имя файла и каталога правильно обрабатывает имена файлов, которые содержат пробелы или специальные символы, если они заключены в кавычки для соответствующего пути. File and directory name completion correctly processes file names that contain white space or special characters if you place quotation marks around the matching path.

Необходимо использовать кавычки для следующих специальных символов: & [] | < >^ = ; ! You must use quotation marks around the following special characters: & [ ] | < >^ = ; ! ‘ +, ‘

Если предоставленные сведения содержат пробелы, заключите текст в кавычки (например, «имя компьютера»). If the information that you supply contains spaces, you must use quotation marks around the text (for example, «Computer Name»).

Если обработка имени файла и каталога выполняется из строки, любая часть пути справа от курсора отбрасывается (в точке, где обработано завершение). If you process file and directory name completion from within string, any part of the path to the right of the cursor is discarded (at the point in string where the completion was processed).

Читайте также:  Readyboost что это windows 10 как отключить
Оцените статью