вторник, 8 июля 2014 г.

О командной строке ч. 3 (bat, cmd)

О командной строке, часть 3 (bat, cmd)


help

Для получения подробных сведений о любой команде введите HELP имя_команды.


ASSOC    Вывод либо изменение сопоставлений по расширениям имен файлов.
AT       Выполнение команд и запуск программ по расписанию.
ATTRIB   Отображение и изменение атрибутов файлов.
BREAK    Включение/выключение режима обработки комбинации клавиш CTRL+C.
CACLS    Отображение/редактирование списков управления доступом (ACL) к файлам.
CALL     Вызов одного пакетного файла из другого.
CD       Вывод имени либо смена текущей папки.
CHCP     Вывод либо установка активной кодовой страницы.
CHDIR    Вывод имени либо смена текущей папки.
CHKDSK   Проверка диска и вывод статистики.
CHKNTFS  Отображение или изменение выполнения проверки диска во время загрузки.
CLS      Очистка экрана.
CMD      Запуск еще одного интерпретатора командных строк Windows 2000.
COLOR    Установка цвета текста и фона, используемых по умолчанию.
COMP     Сравнение содержимого двух файлов или двух наборов файлов.
COMPACT  Отображение/изменение сжатия файлов в разделах NTFS.
CONVERT  Преобразование дисковых томов FAT в NTFS. Нельзя выполнить
         преобразование текущего активного диска.
COPY     Копирование одного или нескольких файлов в другое место.
DATE     Вывод либо установка текущей даты.
DEL      Удаление одного или нескольких файлов.
DIR      Вывод списка файлов и подпапко из указанной папки.
DISKCOMP Сравнение содержимого двух гибких дисков.
DISKCOPY Копирование содержимого одного гибкого диска на другой.
DOSKEY   Редактирование и повторный вызов командных строк; создание макросов.
ECHO     Вывод сообщений и переключение режима отображения команд на экране.
ENDLOCAL Конец локальных изменений среды для пакетного файла.
ERASE    Удаление одного или нескольких файлов.
EXIT     Завершение работы программы CMD.EXE (интерпретатора командных строк).
FC       Сравнение двух файлов или двух наборов файлов
         и вывод различий между ними.
FIND     Поиск текстовой строки в одном или нескольких файлах.
FINDSTR  Поиск строк в файлах.
FOR      Запуск указанной команды для каждого из файлов в наборе.
FORMAT   Форматирование диска для работы с Windows 2000.
FTYPE    Вывод либо изменение типов файлов, используемых при сопоставлении по
         расширениям имен файлов.
GOTO     Передача управления в отмеченную строку пакетного файла.
GRAFTABL Позволяет Windows 2000 отображать расширенный набор символов
         в графическом режиме.
HELP     Выводит справочную информацию о командах Windows 2000.
IF       Оператор условного выполнения команд в пакетном файле.
LABEL    Создание, изменение и удаление меток тома для дисков.
MD       Создание папки.
MKDIR    Создание папки.
MODE     Конфигурирование системных устройств.
MORE     Последовательный вывод данных по частям размером в один экран.
MOVE     Перемещение одного или нескольких файлов из одной папки в другую.
PATH     Вывод либо установка пути поиска исполняемых файлов.
PAUSE    Приостановка выполнения пакетного файла и вывод сообщения.
POPD     Восстановление предыдущего значения текущей активной папки,
         сохраненного с помощью команды PUSHD.
PRINT    Вывод на печать содержимого текстовых файлов.
PROMPT   Изменение приглашения в командной строке Windows 2000.
PUSHD    Сохранение значения текущей активной папки и переход
         к другой папке.
RD       Удаление папки.
RECOVER  Восстановление читаемой информации с плохого или поврежденного диска.
REM      Помещение комментариев в пакетные файлы и файл CONFIG.SYS.
REN      Переименование файлов и папок.
RENAME   Переименование файлов и папок.
REPLACE  Замещение файлов.
RMDIR    Удаление папки.
SET      Вывод, установка и удаление переменных среды Windows 2000.
SETLOCAL Начало локальных изменений среды для пакетного файла.
SHIFT    Изменение содержимого (сдвиг) подставляемых параметров
         для пакетного файла.
SORT     Сортировка ввода.
START    Запуск программы или команды в отдельном окне.
SUBST    Сопоставляет заданному пути имя диска.
TIME     Вывод и установка системного времени.
TITLE    Назначение заголовка окна для текущего сеанса
         интерпретатора командных строк CMD.EXE.
TREE     Графическое отображение структуры папок заданного диска
         или заданной папки.
TYPE     Вывод на экран содержимого текстовых файлов.
VER      Вывод сведений о версии Windows 2000.
VERIFY   Установка режима проверки правильности записи файлов на диск.
VOL      Вывод метки и серийного номера тома для диска.
XCOPY    Копирование файлов и дерева папок.

if

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


IF [NOT] ERRORLEVEL число команда
IF [NOT] строка1==строка2 команда
IF [NOT] EXIST имя_файла команда

  NOT               Обращает истинность условия: истинное условие
                    становится ложным, а ложное - истинным.

  ERRORLEVEL число  Условие является истинным, если код возврата последней
                    выполненной программы не меньше указанного числа.

  строка1==строка2  Это условие является истинным, если указанные строки
                    совпадают.

  EXIST имя_файла   Это условие является истинным, если файл с указанным
                    именем существует.

  команда           Задает команду, выполняемую при истинности условия.
                    За этой командой может следовать ключевое слово ELSE,
                    служащее для указания команды, которая должна
                    выполняться в том случае, если условие ложно.

Предложение ELSE должно располагаться в той же строке, что и команда,
следующая за ключевым словом IF.  Например:

    IF EXIST имя_файла. (
        del имя_файла.
    ) ELSE (
        echo имя_файла. missing.
    )

Следующий пример содержит ОШИБКУ, поскольку команда del должна
заканчиваться переходом на новую строку:

    IF EXIST имя_файла. del имя_файла. ELSE echo имя_файла. missing

Следующий пример также содержит ОШИБКУ, поскольку команда ELSE должна
Располагаться в той же строке, что и команда, следующая за IF:

    IF EXIST имя_файла. del имя_файла.
    ELSE echo имя_файла. missing

Вот правильный пример, где все команды расположены в одной строке:

    IF EXIST имя_файла. (del имя_файла.) ELSE echo имя_файла. missing

Изменение команды IF при включении расширенной обработки команд:

    IF [/I] строка1 оператор_сравнения строка2 команда
    IF CMDEXTVERSION число команда
    IF DEFINED переменная команда

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

    EQL - равно
    NEQ - не равно
    LSS - меньше
    LEQ - меньше или равно
    GTR - больше
    GEQ - больше или равно

а ключ /I, если он указан, задает сравнение текстовых строк без учета
регистра.  Ключ /I можно также использовать и в форме строка1==строка2
команды IF.  Сравнения проводятся по общему типу данных, так что если
строки 1 и 2 содержат только цифры, то обе строки преобразуются в числа,
после чего выполняется сравнение чисел.

Условие CMDEXTVERSION применяется подобно условию ERRORLEVEL, но значение
сравнивается с внутренним номером версии текущей реализации расширенной
обработки команд.  Первая версия имеет номер 1.  Номер версии будет
увеличиваться на единицу при каждом добавлении существенных возможностей
расширенной обработки команд.  Если расширенная обработка команд отключена,
условие CMDEXTVERSION никогда не бывает истинно.

Условие DEFINED применяется подобно условию EXISTS, но принимает в качестве
аргумента имя переменной среды и возвращает истинное значение, если эта
переменная определена.

Строка %ERRORLEVEL% будет развернута в строковое представление текущего
значения кода ошибки ERRORLEVEL, за исключением ситуации, когда уже имеется
переменная среды с именем ERRORLEVEL;  в подобном случае подставляется
значение этой переменной.  Например, с помощью данной строки можно выполнить
следующее:

    goto answer%ERRORLEVEL%
    :answer0
    echo Получен код возврата 0
    :answer1
    echo Получен код возврата 1

Допускается и применение описанных выше операторов числового сравнения:

    IF %ERRORLEVEL% LEQ 1 goto okay

Строка %CMDCMDLINE% будет развернута в исходную командную строку, переданную
CMD.EXE до любой обработки, за исключением ситуации, когда уже определена
переменная среды с именем CMDCMDLINE,  в подобном случае подставляется
значение этой переменной.

Строка %CMDEXTVERSION% будет развернута в строку, представляющую собой
текущее значение CMDEXTVERSION, за исключением ситуации, когда уже имеется
переменная среды с именем CMDEXTVERSION;  в подобном случае подставляется
значение этой переменной.

label

Создание, изменение и удаление меток тома для дисков.


LABEL [диск:][метка]
LABEL [/MP] [том] [метка]

  диск:           Определяет букву диска.
  метка           Определяет метку тома.
  /MP             Определяет точку подключения тома, или
                  имя тома.
  том             Определяет букву диска (с последующим двоеточием),
                  точку подключения или имя тома. Если указано имя тома,
                  флаг /MP необязателен.



md

Создание каталога.


MKDIR [диск:]путь
MD [диск:]путь

Изменение команды MKDIR при включении расширенной обработки команд:

Команда MKDIR создает при необходимости все промежуточные каталоги в пути.
Например, если \a не существует, то:

    mkdir \a\b\c\d

приводит к тому же результату, что и:

    mkdir \a
    chdir \a
    mkdir b
    chdir b
    mkdir c
    chdir c
    mkdir d

При отключении расширенной обработки команд используется только второй вариант.

mkdir

Создание каталога.


MKDIR [диск:]путь
MD [диск:]путь

Изменение команды MKDIR при включении расширенной обработки команд:

Команда MKDIR создает при необходимости все промежуточные каталоги в пути.
Например, если \a не существует, то:

    mkdir \a\b\c\d

приводит к тому же результату, что и:

    mkdir \a
    chdir \a
    mkdir b
    chdir b
    mkdir c
    chdir c
    mkdir d

При отключении расширенной обработки команд используется только второй вариант.

mode

Настройка системных устройств.


Последовательный порт:   MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s]
                                      [to=on|off] [xon=on|off] [odsr=on|off]
                                      [octs=on|off] [dtr=on|off|hs]
                                      [rts=on|off|hs|tg] [idsr=on|off]

Состояние устройства:    MODE [устройство] [/STATUS]

Переадресация печати:    MODE LPTn[:]=COMm[:]

Выбор кодовой страницы:  MODE CON[:] CP SELECT=yyy

Вывод кодовой страницы:  MODE CON[:] CP [/STATUS]

Режим работы экрана:     MODE CON[:] [COLS=c] [LINES=n]

Ввод с клавиатуры:       MODE CON[:] [RATE=r DELAY=d]

more

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


MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [диск:][путь]имя_файла
имя_команды | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [файлы]

    [диск:][путь]имя_файла  Файл, отображаемый
                            по фрагментам.

    имя_команды             Команда, вывод которой
                            отображается на экране.

    /E      Разрешение использования дополнительных возможностей.
    /C      Очистка экрана перед выводом каждой страницы.
    /P      Учет символов перевода страницы.
    /S      Сжатие нескольких пустых строк в одну строку.
    /Tn     Замена символов табуляции n пробелами (по умолчанию n = 8).

            Стандартный набор ключей можно поместить
            в переменную среды MORE.

    +n      Начало вывода первого файла со строки с номером n.

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

    Если использование дополнительных возможностей разрешено, в ответ
    на приглашение -- More -- можно вводить следующие команды:

    P n       Вывод следующих n строк.
    S n       Пропуск следующих n строк.
    F         Вывод следующего файла.
    Q         Завершение работы.
    =         Вывод номера строки.
    ?         Вывод строки подсказки.
    <пробел>  Вывод следующей страницы.
    <ENTER>   Вывод следующей строки.

move

Перемещение файлов и переименование файлов и папок


Перемещение одного или более файлов:
MOVE [/Y | /-Y] [диск:][путь]имя_файла1[,...] назначение

Переименование папки:
MOVE [/Y | /-Y] [диск:][путь]имя_папки новое_имя_папки

  [диск:][путь]имя_файла1 Определяет местоположение файла или файлов, которые
                          необходимо переместить.
  Назначение              Определяет новое местоположение файла. Назначение
                          может состоять из буквы диска (с последующим
                          двоеточием), имени папки или их комбинации. При
                          перемещении только одного файла, можно указать и его
                          новое имя, если хотите выполнить его одновременное
                          переименование при перемещении.
  [диск:][путь]имя_папки  Определяет папку, которую необходимо переименовать.
  новое_имя_папки         Определяет новое имя папки.

  /Y                      Перезаписывать существующие файлы назначения без
                          предупреждения.
  /-Y                     Предупреждать при перезаписи существующего файла
                          назначения.

Ключ /Y может присутствовать в значении переменной среды окружения COPYCMD.
Оно может перекрываться ключом /-Y в командной строке. По умолчанию
используется предупреждение о перезаписи, если только команда MOVE не выполняется как часть пакетного файла.

path

Вывод или задание пути поиска исполняемых файлов.


PATH [[диск:]путь[;...][;%PATH%]
PATH ;

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

pause

Приостановка выполнения пакетного файла и вывод сообщения:
    Для продолжения нажмите любую клавишу . . .

popd

Переходит в каталог, сохраненный командой PUSHD.


POPD


Когда расширенная обработка команд включена, команда POPD удаляет временные
имена дисков, созданные командой PUSHD для сетевых ресурсов, при удалении
соответствующего диска из стека каталогов.

print

Печать текстового файла.


PRINT [/D:устройство] [[диск:][путь]имя_файла[...]]

   /D:устройство   Устройство для печати.

prompt

Изменение приглашения командной строки cmd.exe.


PROMPT [текст]

  текст   Новое приглашение командной строки.

Приглашение может включать обычные символы и следующие коды:

  $A   & (амперсанд)
  $B   | (вертикальная черта)
  $C   ( (левая круглая скобка)
  $D   Текущая дата
  $E   ESC (символ ASCII с кодом 27)
  $F   ) (правая круглая скобка)
  $G   > (знак "больше")
  $H   BACKSPACE (удаление предыдущего символа)
  $L   < (знак "меньше")
  $N   Текущий диск
  $P   Текущие диск и каталог
  $Q   = (знак равенства)
  $S     (пробел)
  $T   Текущее время
  $V   Номер версии Windows 2000
  $_   Возврат каретки и перевод строки
  $$   $ (символ доллара)

Когда расширенная обработка команд включена, команда PROMPT поддерживает
следующие дополнительные символы форматирования:

  $+   Отображение нужного числа знаков плюс (+) в зависимости от текущей
       глубины стека каталогов PUSHD, по одному знаку на каждый сохраненный
       путь.

  $M   Отображение полного имени удаленного диска, связанного с именем
       текущего диска, или пустой строки, если текущий диск не является

pushd

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


PUSHD [путь | ..]

  путь        Каталог, который следует назначить текущим.

Когда расширенная обработка команд включена, команда PUSHD допускает ввод
сетевых путей в дополнение к обычным именам дисков и путям.
Если указан сетевой путь, команда PUSHD создает временное имя диска,
указывающее на заданный сетевой ресурс, а затем производит смену текущего
диска и каталога, используя вновь определенное имя диска.
Выделение временных имен дисков проводится в обратном порядке начиная
с Z:, причем выбирается первое свободное имя диска.

rd

Удаление каталога.

RMDIR [/S] [/Q] [диск:]путь
RD [/S] [/Q] [диск:]путь

    /S      Удаление дерева каталогов, т. е. не только указанного каталога,
            но и всех содержащихся в нем файлов и подкаталогов.

    /Q      Отключение запроса подтверждения при удалении дерева каталогов
            с помощью ключа /S.

recover

Восстановление сохранившихся данных на поврежденном диске.


RECOVER [диск:][путь]имя_файла
Перед использованием команды RECOVER познакомьтесь с ее описанием,
приведенном в справочной системе Windows 2000.


rem

Помещение комментариев в пакетные файлы и файл CONFIG.SYS.


REM [текст]

ren

Переименование одного или нескольких файлов.


RENAME [диск:][путь]имя_файла1 имя_файла2.
REN [диск:][путь]имя_файла1 имя_файла2.

Для конечного файла нельзя указать другой диск или каталог.

rename

Переименование одного или нескольких файлов.


RENAME [диск:][путь]имя_файла1 имя_файла2.
REN [диск:][путь]имя_файла1 имя_файла2.

Для конечного файла нельзя указать другой диск или каталог.

replace

Замена файлов.


REPLACE [диск1:][путь1]имя_файла [диск2:][путь2] [/A] [/P] [/R] [/W]
REPLACE [диск1:][путь1]имя_файла [диск2:][путь2] [/P] [/R] [/S] [/W] [/U]

  [диск1:][путь1]имя_файла Один или несколько исходных файлов.
  [диск2:][путь2]          Каталог, в котором следует заменить
                           файлы.
  /A                       Добавление новых файлов в конечный каталог.
                           Этот ключ несовместим с ключами /S и /U.
  /P                       Вывод запроса перед заменой или
                           добавлением файла.
  /R                       Разрешение замены файлов, предназначенных
                           только для чтения (среди прочих).
  /S                       Замена файлов во всех подкаталогах
                           конечного каталога.
                           Этот ключ несовместим с ключом /A.
  /W                       Ожидание вставки диска перед началом выполнения.
  /U                       Замена только файлов, более старых, чем исходные.
                           Этот ключ несовместим с ключом /A.

rmdir

Удаление каталога.


RMDIR [/S] [/Q] [диск:]путь
RD [/S] [/Q] [диск:]путь

    /S      Удаление дерева каталогов, т. е. не только указанного каталога,
            но и всех содержащихся в нем файлов и подкаталогов.

    /Q      Отключение запроса подтверждения при удалении дерева каталогов
            с помощью ключа /S.



set

Вывод, задание и удаление переменных среды cmd.exe.


SET [переменная=[строка]]

  переменная  Имя переменной среды.
  строка      Строка символов, присваиваемая указанной переменной.

Введите SET без параметров для вывода текущих переменных среды.

Изменение команды SET при включении расширенной обработки команд:

Если при вызове указать только имя переменной без знака равенства и значения,
команда SET выведет значения всех переменных, имя которых начинается
с указанной строки.  Например:

    SET P

Эта команда выведет значения всех переменных, имена которых начинаются с 'P'.

Если имя переменной не найдено в текущей среде, при возврате команда SET
установит значение ошибки ERRORLEVEL 1.

Команда SET не допускает использование знака равенства в имени
переменной среды.

Команда SET поддерживает два дополнительных ключа:

    SET /A выражение
    SET /P variable=[promptString]

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

    ()                  - группировка
    * / %               - арифметические операторы
    + -                 - арифметические операторы
    << >>               - двоичный сдвиг
    &                   - двоичное И
    ^                   - двоичное исключающее ИЛИ
    |                   - двоичное ИЛИ
    = *= /= %= += -=    - присвоение
      &= ^= |= <<= >>=
    ,                   - разделитель операторов

При использовании любых логических или двоичных операторов необходимо
заключить строку выражения в кавычки.  Любые нечисловые строки в выражении
рассматриваются как имена переменных среды, значения которых преобразуются
в числовой вид перед использованием.  Если переменная с указанным именем
не определена в системе, вместо нее подставляется нулевое значение.  Это
позволяет выполнять арифметические операции со значениями переменных среды,
причем не нужно вводить знаки % для получения значений.  Если команда
SET /A вызывается из командной строки, а не из пакетного файла, она выводит
окончательное значение выражения.  Слева от любого оператора присваивания
должно стоять имя переменной среды.  Числовые значения рассматриваются как
десятичные, если перед ними не стоит префикс 0x для шестнадцатеричных чисел,
и 0 для восьмеричных чисел.  Например, числа 0x12,
и 022 обозначают десятичное число 18.  Обратите внимание на запись
восьмеричных числе: 08 и 09 не являются допустимыми числами, так как в
восьмеричной системе исчисления цифры 8 и 9 не используются.

Ключ /P позволяет установить значение переменной для входной строки, введенной
пользователем.  Показывает указанное приглашение promptString перед чтением
введенной строки.  Приглашение promptString может быть пустым.

Подстановка переменной среды может быть расширена следующим образом:

    %PATH:str1=str2%

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


Можно также использовать строки расширения.

    %PATH:~10,5%

расширит действие переменной среды PATH, затем использует только 5
символов, которые начинаются с 11-го символа (пропустив 10) расширенного
результата.  Если длина не указана, по умолчанию используется оставшееся
значение переменной.  Если оба значения (длина и число пропускаемых символов)
отрицательны, следующим используемым значением будет длина значения переменной
среды, добавленной к указанному значению пропуска или указанной длины.

    %PATH:~-10%

извлечет последние 10 символов переменной PATH.

    %PATH:~0,-2%

извлечет все символы переменной PATH, за исключением 2-х последних.

Наконец, добавлена поддержка связывания времени выполнения для переменных среды
окружения. По умолчанию эта поддержка отключена. Ключ /V командной строки
CMD.EXE позволяет включать и выключать ее. Для вызова справки, наберите CMD /?

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

    set VAR=before
    if "%VAR%" == "before" (
        set VAR=after;
        if "%VAR%" == "after" @echo Тело внутреннего оператора сравнения
    )

Данное сообщение не буде выводиться, т.к. %VAR% в ОБОИХ выражениях IF
подставляется в момент первого использования в первом IF, в том числе и в тело
первого ветвления IF, которое является составным выражением. В IF внутри
составного выражения в действительности сравниваются значения "before" и
"after", что заведомо ложно. Следующий пример подобной ошибки:

    set LIST=
    for %i in (*) do set LIST=%LIST% %i
    echo %LIST%

в котором никогда не будет построен список файлов текущей директории. Вместо
этого, значением переменной LIST будет имя последнего найденного файла.
И вновь, это случилось потому, что %LIST% подставляется всего один раз -
в момент обработки выражения FOR, когда список еще пуст.
Фактически приведенный фрагмент эквивалентен следующему:

    for %i in (*) do set LIST= %i

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

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

времени выполнения, то для достижения ожидаемых результатов приведенные выше
фрагменты должны быть переписаны следующим образом:

    set VAR=before
    if "%VAR%" == "before" (
        set VAR=after
        if "!VAR!" == "after" @echo Тело внутреннего оператора сравнения
    )

    set LIST=
    for %i in (*) do set LIST=!LIST! %i
    echo %LIST%

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

%CD% - раскрывается в строку текущей директории.

%DATE% - раскрывается в текущую дату, используя тот же формат команды DATE.

%TIME% - раскрывается в текущую дату, используя формат команды TIME.

%RANDOM% - раскрывается в случайное десятичное число между 0 и 32767.

%ERRORLEVEL% - раскрывается в текущее значение ERRORLEVEL

%CMDEXTVERSION% - раскрывается в текущее значение версии
                    расширенной обработки команд.

%CMDCMDLINE% - раскрывается в исходную командную строку, которая вызвала
командный процессор.

setlocal

Начало локализации изменений среды в пакетном файле.

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

SETLOCAL

Изменение команды SETLOCAL при включении расширенной обработки команд:

Команда SETLOCAL принимает необязательный аргументы:
  ENABLEEXTENSIONS или DISABLEEXTENSIONS.  Это позволяет
включить или отключить расширенную обработку команд до выполнения команды. См.
            CMD /? для подробного объяснения.
        ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
            включает или отключает отложенное расширение
            переменной среды.  См. SET /? для подробного объяснения.
Эти изменения действуют до совпадения команды ENDLOCAL, независимо от исходного
состояния до вызова команды SETLOCAL.

Если команда SETLOCAL вызывается с аргументом, она устанавливает код ошибки
ERRORLEVEL.  Если указан один из двух допустимых аргументов, код ошибки будет
равен нулю, иначе возвращается значение 1.  Это свойство можно использовать в
пакетных файлах, чтобы определить доступность расширенной обработки команд,
например:

    VERIFY OTHER 2>nul
    SETLOCAL ENABLEEXTENSIONS
    IF ERRORLEVEL 1 echo Не удается включить расширенную обработку

Эта группа команд работает, так как в прежних версиях CMD.EXE команда SETLOCAL
не устанавливает значение ERRORLEVEL. Команда VERIFY с недопустимым аргументом
необходима для установки ненулевого значения ERRORLEVEL.

shift

Изменение содержимого (сдвиг) подставляемых параметров для пакетного файла.


SHIFT [/n]

Команда SHIFT при включении расширенной обработки команд поддерживает ключ
/n, задающий начало сдвига параметров с номера n, где n может быть от 0 до 9.
Например, в следующей команде:

    SHIFT /2

%3 заменяется на %2, %4 на %3 и т.д., а %0 и %1 остаются без изменений.

sort

SORT [/R] [/+n] [/M килобайтов] [/L язык] [/RE recordbytes]
  [[диск1:][путь1]имя_файла1] [/T [диск2:][путь2]]
  [/O [диск3:][путь3]имя_файла3]
  /+n                         Задает число символов, n, до начала каждого
                              сравнения. /+3 показывает, что каждое
                              сравнение будет начинаться с третьего символа
                              каждой строки. Строки меньше чем n символов
                              собираются перед всеми остальными строками.
                              По умолчанию, сравнение начинается с первого
                              символа каждой строки.
  /L[OCALE] язык              Перекрывает установленные в системе по умолчанию
                              язык и раскладку заданными. Пока существует
                              возможность только одного выбора: ""C"" -
                              наиболее быстрый способ упорядочивания
                              последовательности.
                              Сортировка всегда идет без учета регистра.
  /M[EMORY] килобайтов        Задает количество основной памяти, используемой
                              для сортировки, в килобайтах. Размер памяти должен

                              быть не менее 160КБ. При явном задании размера
                              памяти именно это количество будет использовано,
                              невзирая на то, какое количество основной памяти
                              доступно в системе.

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

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

                              равен 90% доступной основной памяти, если входными

                              и выходными потоками являются файлы на диске,
                              и 45% доступной основной памяти - иначе.
  /REC[ORD_MAXIMUM] символов  Определяет максимальной число символов в записи
                              (по умолчанию 4096, максимально возможное 65535).
  /R[EVERSE]                  Обратный порядок сортировки; т.е. сортировка идет
                              от Я до А, и затем от 9 до 0.
  [диск1:][путь1]имя_файла1   Определяет имя сортируемого файла. Если оно
                              опущено, то будет использоваться стандартный поток

                              ввода. Явное задание сортируемого файла работает
                              быстрее, чем перенаправление того же файла в
                              качестве стандартного потока ввода.
  /T[EMPORARY]
    [диск2:][путь2]           Определяет путь к папке, содержащей рабочие файлы
                              сортировки, в том случае, когда данные не
                              помещаются в основной памяти. По умолчанию
                              используется системная временная папка.
  /O[UTPUT]
    [диск3:][путь3]имя_файла3 Определяет имя файла, в котором сохраняются
                              отсортированные результаты. Если оно опущено
                              данные записываются в стандартный поток вывода.
                              Явное задание файла вывода работает быстрее чем
                              перенаправление стандартного потока вывода
                              в этот же файл.

start

Запуск указанной программы или команды в отдельном окне.


START ["заголовок"] [/Dпуть] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME| /ABOVENORMAL | /BELOWNORMAL]
      [/WAIT] [/B]
      [команда/программа] [параметры]

    "заголовок" Заголовок окна.
    путь        Рабочий каталог.
    B           Запуск приложения без создания нового окна с отключением
                обработки сочетания клавиш ^C. Если приложение не
                обрабатывает сочетание клавиш ^C самостоятельно,
                единственным способом его прерывания является
                использование сочетания клавиш ^Break.
    I           Новой средой станет исходная среда, переданная
                cmd.exe, а не текущая среда.
    MIN         Запуск команды/программы в свернутом окне.
    MAX         Запуск команды/программы в развернутом окне.
    SEPARATE    Запуск 16-разрядной программы Windows в отдельной
                области памяти.
    SHARED      Запуск 16-разрядной программы Windows в общей
                области памяти.
    LOW         Запуск приложения с приоритетом IDLE.
    NORMAL      Запуск приложения с приоритетом NORMAL.
    HIGH        Запуск приложения с приоритетом HIGH.
    REALTIME    Запуск приложения с приоритетом REALTIME.
    WAIT        Запуск приложения с ожиданием его завершения.
    ABOVENORMAL Запуск приложения с классом приоритета ABOVENORMAL
    BELOWNORMAL Запуск приложения с классом приоритета BELOWNORMAL
    команда/программа
                Если это внутренняя команда cmd.exe или пакетный файл,
                обработчик команд (cmd.exe) запускается с ключом /K.
                Это означает, что окно не будет закрыто после завершения
                команды.

                Если это не внутренняя команда cmd.exe и не пакетный файл,
                значит, это программа, которая будет запущена в графическом
                или текстовом окне.

    параметры   Параметры, передаваемые команде/программе.


Изменения вызова внешних команд из командной строки или с помощью команды
START при включении расширенной обработки команд:

Для вызова неисполняемых файлов через механизм сопоставления типов файлов
    достаточно просто ввести имя файла в командной строке.  Например, команда
    WORD.DOC запускает приложение, сопоставленное расширению имени файла .DOC.
    Сведения о создании подобных сопоставлений из пакетных файлов приведены
    в описаниях команд ASSOC и FTYPE.

При запуске 32-разрядного приложения с графическим интерфейсом пользователя
    обработчик команд CMD.EXE не ожидает завершения работы приложения перед
    возвратом к приглашению командной строки.  Подобное новое поведение НЕ
    относится к запуску приложений из пакетных файлов.

При выполнении командной строки, первым элементом которой является текстовая
    строка "CMD" без расширения имени файла или указания пути, она заменяется
    значением переменной COMSPEC. Это предотвращает запуск CMD.EXE из
    текущей активной папки, если таковая программа там имеется.

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

        .COM;.EXE;.BAT;.CMD

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

Если при поиске исполняемого файла нет соответствия ни одному из расширений,
выполняется проверка соответствия указанного имени папки. Если имя папки
соответствует указанному, то команда START запускает EXPLORER для этого
пути. Если такое действие выполняется из командной строки, то оно эквивалентно
выполнению команды CD /D для указанного пути.

subst

Сопоставление имени диска указанному пути.


SUBST [диск1: [диск2:]путь]
SUBST диск1: /D

  диск1:         Виртуальный диск, который сопоставляется указанному пути.
  [диск:]путь    Физические диск и путь,
                 которым сопоставляется виртуальный диск.
  /D             Удаление ранее созданного виртуального диска.

Введите SUBST без параметров для вывода текущего списка виртуальных дисков.

time

Вывод или изменение времени.


TIME [/T | время]

Введите TIME без параметров для вывода текущего времени и запроса на ввод
нового времени.  Нажмите клавишу ENTER для сохранения текущего времени.

Когда расширенная обработка команд включена, команда TIME поддерживает
ключ /T, позволяющий просто вывести текущее значение времени без запроса
нового времени.

title

Изменение заголовка окна командной строки.


TITLE [строка]

  строка       Будущий заголовок окна командной строки.

tree

Графическое представление структуры папок или пути.


TREE [диск:][путь] [/F] [/A]

   /F   Вывод имен файлов в каждой папке.
   /A   Использовать символы ASCII вместо символов национальных алфавитов.

type

Вывод содержимого одного или нескольких текстовых файлов.


TYPE [диск:][путь]имя_файла

ver

Вывод версии Windows 2000.


VER

verify

Включение или отключение режима проверки правильности записи файлов на диск.


VERIFY [ON | OFF]

Введите VERIFY без параметра для определения текущего значения этой команды.

vol

Вывод метки и серийного номера тома для диска.


VOL [диск:]

xcopy

Копирование файлов и структур каталогов.


XCOPY источник [результат] [/A | /M] [/D[:дата]] [/P] [/S [/E]] [/V] [/W]
                           [/C] [/I] [/Q] [/F] [/L] [/H] [/R] [/T] [/U]
                           [/K] [/O] [/X] [/Y] [/-Y] [/N] [/Z]
                           [/EXCLUDE:файл1[+файл2][+файл3]...]

  источник    Копируемые файлы.
  результат   Местоположение и/или имена новых файлов.
  /A          Копирование только файлов с установленным архивным атрибутом.
              Сам атрибут при этом не изменяется.
  /M          Копирование только файлов с установленным архивным атрибутом.
              После копирования атрибут снимается.
  /D:дата     Копирование файлов, измененных не ранее указанной даты.
              Если дата не указана, заменяются только конечные файлы,
              более старые, чем исходные.
  /EXCLUDE:файл1[+файл2][+файл3]...
              Список файлов, содержащих строки.  Когда любая из строк
              Совпадает с любой частью абсолютного пути к копируемому файлу,
              такой файл исключается из операции копирования. К примеру,
              указав строку \obj\ или .obj можно исключить все файлы из
              папки obj или все файлы с расширением
               obj соответственно.
  /P          Вывод запросов перед созданием каждого нового файла.
  /S          Копирование каталогов с подкаталогами (кроме пустых).
  /E          Копирование каталогов с подкаталогами (в том числе пустых).
              Эквивалентен сочетанию ключей /S /E. Совместим с ключом /T.
  /V          Сравнение конечных файлов с исходными.
  /W          Вывод запроса на нажатие клавиши перед копированием.
  /C          Продолжение копирования, независимо от наличия ошибок.
  /I          Если результат не существует, а копируется несколько файлов,
              считается, что указано имя каталога.
  /Q          Запрет вывода имен копируемых файлов.
  /F          Вывод полных имен исходных и конечных файлов.
  /L          Вывод имен копируемых файлов.
  /H          Копирование скрытых и системных файлов (среди прочих).
  /R          Разрешение замены файлов, предназначенных только для чтения.
  /T          Создание структуры каталогов (кроме пустых каталогов) без
              копирования файлов. Если требуется создать пустые каталоги
              и подкаталоги, используйте сочетание ключей /T /E.
  /U          Копирование только файлов, уже имеющихся в конечном каталоге.
  /K          Копирование атрибута "Только чтение" (обычно он сбрасывается).
  /N          Использование коротких имен при копировании.
  /O          Копирование сведений о владельце и данных ACL.
  /X          Копирование параметров аудита файлов (требует /O).
  /Y          Подавление запроса подтверждения на перезапись существующего
              конечного файла.
  /-Y         Обязательный запрос подтверждения на перезапись существующего
              конечного файла.
  /Z          Копирование сетевых файлов с возобновлением.

Ключ /Y можно установить через переменную среды COPYCMD.

Ключ /-Y командной строки переопределяет такую установку.

Комментариев нет:

Отправить комментарий

Постоянные читатели

Популярные сообщения