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

Команды командной строки ч. 2 (bat, cmd)

Команды командной строки, часть 2 (bat, cmd)


echo

Вывод сообщений и переключение режима отображения команд на экране.


  ECHO [ON | OFF]
  ECHO [сообщение]

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

endlocal

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


ENDLOCAL

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

Если соответствующая команда SETLOCAL включила или отключила расширенную
обработку команд с помощью новых параметров ENABLEEXTENSIONS или
DISABLEEXTENSIONS, то после выполнения команды ENDLOCAL восстанавливается
состояние расширенной обработки команд, каким оно было до выполнения
команды SETLOCAL.

erase

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


DEL [/P] [/F] [/S] [/Q] [/A[[:]атрибуты]] имена
ERASE [/P] [/F] [/S] [/Q] [/A[[:]атрибуты]] имена

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

  /P          Запрос на подтверждение перед удалением каждого файла.
  /F          Принудительное удаление файлов, доступных только для чтения.
  /S          Удаление указанных файлов из всех подкаталогов.
  /Q          Отключение запроса на подтверждение при удалении файлов.
  /A          Отбор файлов для удаления по атрибутам.
  атрибуты    S  Системные файлы       R  Доступные только для чтения
              H  Скрытые файлы         A  Файлы для архивирования
              Префикс "-" имеет значение НЕ

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

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

exit

Завершает программу CMD.EXE (интерпретатор команд) или текущий пакетный файл-сценарий.


EXIT [/B] [exitCode]

  /B          Предписывает завершить текущий пакетный файл-сценарий вместо
              завершения CMD.EXE.  Если выполняется вне пакетного
              файла-сценария, то будет завершена программа CMD.EXE

  exitCode    Указывает цифровое значение.  Если указан ключ /B, определяет
              номер для ERRORLEVEL.  В случае завершения работы CMD.EXE,
              устанавливает код завершения процесс с данным номером.

fc

Сравнение двух файлов или двух наборов файлов и вывод различий между ними.


FC [/A] [/C] [/L] [/LBn] [/N] [/T] [/U] [/W] [/nnnn] [диск1:][путь1]имя_файла1
          [диск2:][путь2]имя_файла2
FC /B [диск1:][путь1]имя_файла1 [диск2:][путь2]имя_файла2

   /A     Вывод только первой и последней строк для каждой группы различий.
   /B     Сравнение двоичных файлов.
   /C     Сравнение без учета регистра символов.
   /L     Сравнение файлов в формате ASCII.
   /LBn   Максимальное число несоответствий
          для заданного числа строк.
   /N     Вывод номеров строк при сравнении текстовых файлов ASCII.
   /T     Символы табуляции не заменяются эквивалентным числом пробелов.
   /U     Сравнение файлов в формате UNICODE.
   /W     Пропуск пробелов и символов табуляции при сравнении.
   /nnnn  Число последовательных совпадающих строк, которое
          должно встретиться после группы несовпадающих.

find

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


FIND [/V] [/C] [/N] [/I] "строка" [[диск:][путь]имя_файла[ ...]]

  /V        Вывод всех строк, НЕ содержащих заданную строку.
  /C        Вывод только общего числа строк, содержащих заданную строку.
  /N        Вывод номеров отображаемых строк.
  /I        Поиск без учета регистра символов.
  "строка"  Искомая строка.
  [диск:][путь]имя_файла
            Один или несколько файлов, в которых выполняется поиск.

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

findstr

Поиск строк в файлах.


FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:файл]
        [/C:строка] [/G:файл] [/D:список_папок] [/A:цвета]
        [строки] [[диск:][путь]имя_файла[ ...]]

  /B        Искать образец только в началах строк.
  /E        Искать образец только в конце строк.
  /L        Поиск строк дословно.
  /R        Поиск строк как регулярных выражений.
  /S        Поиск файлов в текущей папке и всех ее подпапках.
  /I        Определяет, что поиск будет вестись без учета регистра.
  /X        Печатает строки, которые совпадают точно.
  /V        Печатает строки, не содержащие совпадений с искомыми.
  /N        Печатает номер строки, в которой найдено совпадение,
            и ее содержимое.
  /M        Печатает только имя файла, в которой найдено совпадение.
  /O        Печатает найденный строки через пустую строку.
  /P        Пропускает строки, содержащие непечатаемые символы
  /A:цвета  Две шестнадцатеричные цифры - атрибуты цвета. См. "COLOR /?"
  /F:файл   Читает список файлов из заданного файла (/ для консоли).
  /C:строка Использует заданную строку как искомую фразу поиска.
  /G:файл   Получение строк из заданного файла (/ для консоли).
  /D:список_папок    Поиск в списке папок (разделяются точкой с запятой).
  строка    Искомый текст.
  [диск:][путь]имя_файла
            Задает имя файла или файлов.

Использовать пробелы для разделения нескольких искомых строк, если аргумент не
имеет префикса /C. Например, 'FINDSTR "Привет мир" a.b' ищет "Привет" или
"мир" в файле a.b, а команда 'FINDSTR /C:"Привет мир" a.b' ищет строку
"Привет мир" в  файле a.b.

Краткая сводка по синтаксису регулярных выражений:
  .         Любой символ.
  *         Повтор: ноль или более вхождений предыдущего символа или класса
  ^         Позиция в строке: начало строки
  $         Позиция в строке: конец строки
  [класс]   Класс символов: любой единичный символ из множества
  [^класс]  Обратный класс символов: любой единичный символ из дополнения
  [x-y]     Диапазон: любые символы из указанного диапазона
  \x       Служебный символ: символьное обозначение служебного символа x
  \<xyz    Позиция в слове: в начале слова
  xyz\>    Позиция в слове: в конце слова

За полной информацией о регулярных выражениях FINDSTR обратитесь к доступной нтерактивной документации в сети.

for

Выполнение указанной команды для каждого файла набора.


FOR %переменная IN (набор) DO команда [параметры]

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

В пакетных файлах для команды FOR используется запись
%%переменная вместо %переменная. Имена переменных
учитывают регистр букв (%i отличается от %I).

Добавление поддерживаемых вариантов команды FOR при включении расширенной
обработки команд:

FOR /D %переменная IN (набор) DO команда [параметры]

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

FOR /R [[диск:]путь] %переменная IN (набор) DO команда [параметры]

    Выполнение команды для каталога [диск:]путь, а также для всех
    подкаталогов этого пути.  Если после ключа /R не указано имя каталога,
    выполнение команды начинается с текущего каталога.
    Если вместо набора указана только точка (.), команда выводит список
    всех подкаталогов.

FOR /L %переменная IN (начало,шаг,конец) DO команда [параметры]

    Набор раскрывается в последовательность чисел с заданными началом, концом
    и шагом приращения.  Так, набор (1,1,5) раскрывается в (1 2 3 4 5),
    а набор (5,-1,1) заменяется на (5 4 3 2 1)

FOR /F ["ключи"] %переменная IN (набор) DO команда [параметры]
FOR /F ["options"] %variable IN ("literal string") DO command [command-parameter
s]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]

    or, if usebackq option present:

FOR /F ["options"] %variable IN (filenameset) DO command [command-parameters]
FOR /F ["options"] %variable IN ('literal string') DO command [command-parameter
s]
FOR /F ["options"] %variable IN (`command`) DO command [command-parameters]

    Набор содержит имена одного или нескольких файлов, которые по очереди
    открываются, читаются и обрабатываются.  Обработка состоит в чтении
    файла, разбивки его на отдельные строки текста и выделения из каждой строки
    заданного числа подстрок (в том числе нуля).  Затем найденная подстрока
    используется в качестве значения переменной при выполнении основного
    тела цикла.  По умолчанию ключ /F выделяет из каждой строки файла
    первое слово, очищенное от окружающих его пробелов.  Пустые строки
    в файле пропускаются.  Необязательный параметры "ключи" служит для
    переопределения заданных по умолчанию правил обработки строк.  Ключи
    представляют собой заключенную в кавычки строку, содержащую указанные
    different parsing options.  The keywords are:

        eol=c           - определение символа комментариев в конце строки
                          (допускается задание только одного символа).
        skip=n          - число пропускаемых при обработке строк в начале
                          файла.
        delims=xxx      - определение набора разделителей для замены заданных
                          по умолчанию пробела и знака табуляции.
        tokens=x,y,m-n  - определение номеров подстрок, выделяемых из каждой
                          строки файла и передаваемых для выполнения в тело
                          цикла.  При использовании этого ключа создаются
                          дополнительные переменные.  Формат m-n представляет
                          собой диапазон подстрок с номерами от m по n.  Если
                          последний символ в строке tokens= является звездочкой,

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

  Вот поясняющий пример:

  FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k

   Эта команда обрабатывает файл myfile.txt, пропускает все строки, которые
    начинаются с символа точки с запятой, и передает вторую и третью подстроки
    из каждой строки в тело цикла, причем подстроки разделяются запятыми и/или
    пробелами.  В теле цикла переменная %i используется для второй подстроки,
    %j - для третьей, а %k получает все оставшиеся подстроки после третьей.

    Переменная %i явно описана в инструкции for, а переменные %j и %k
    описываются неявно с помощью ключа tokens=.  Ключ tokens= позволяет извлечь
    из одной строки файла до 26 подстрок, то есть запрещено использовать имена
    переменных, начинающиеся не с букв английского алфавита (a-z).  Следует
    помнить, что имена переменных FOR являются глобальными, поэтому одновременно

    не может быть активно более 26 переменных.

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

    Наконец, команда FOR /F позволяет обработать строку вывода другой команды.
    Для этого следует ввести строку вызова команды в апострофах вместо набора
    имен файлов в скобках.  Строка передается для выполнения обработчику
    команд CMD.EXE, а вывод этой команды записывается в память и обрабатывается
    так, как будто строка вывода взята из файла.  Например, следующая
    команда:

      FOR /F "delims==" %i IN ('set') DO @echo %i

    выведет перечень имен всех переменных среды, определенных в настоящее
    время в системе.


Операции подстановки ссылок на переменные команды FOR также расширены.
Допускается применение следующих синтаксических конструкций:

    %~I         - из переменной %I удаляются обрамляющие кавычки (")
    %~fI        - переменная %I расширяется до полного имени файла
    %~dI        - из переменной %I выделяется только имя диска
    %~pI        - из переменной %I выделяется только путь к файлу
    %~nI        - из переменной %I выделяется только имя файла
    %~xI        - из переменной %I выделяется расширение имени файла
    %~sI        - полученный путь содержит только короткие имена
    %~aI        - переменная %I расширяется до атрибутов файла
    %~tI        - переменная %I расширяется до даты /времени файла
    %~zI        - переменная %I расширяется до размера файла
    %~$PATH:I   - проводится поиск по каталогам, заданным в переменной
                   среды PATH, и переменная %I заменяется на полное
                   имя первого найденного файла.  Если переменная PATH
                   не определена или в результате поиска не найден ни
                   ни один файл, то этот модификатор заменяется на пустую
                   строку

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

    %~dpI       - переменная %I заменяется только на имя диска и путь
    %~nxI       - переменная %I заменяется только на имя файла и его
                   расширение
    %~fsI       - переменная %I заменяется только на полный путь с
                   краткими именами
    %~dp$PATH:I - проводится поиск по каталогам, заданным в переменной
                   среды PATH, и переменная %I заменяется на имя диска
                   и путь к первому найденному файлу.
    %~ftzaI     - переменная %I заменяется на строку, выдаваемую
                   командой DIR

В приведенных выше примерах переменные %I и PATH можно заменить на
любые другие допустимые значения. В таких синтаксических конструкциях
за символами %~ может следовать любое имя переменной цикла FOR.
Рекомендуется использовать заглавные буквы для имен таких переменных,
например, %I, что делает их более заметными, а также позволяет отличать
их от обозначений модификаторов, которые не различают используемый регистр.

format

Форматирование диска для работы с Windows 2000.


FORMAT том: [/FS:система] [/V:метка] [/Q] [/A:размер] [/C] [/X]
FORMAT том: [/V:метка] [/Q] [/F:размер]
FORMAT тома: [/V:метка] [/Q] [/T:дорожки /N:секторы]
FORMAT тома: [/V:метка] [/Q] [/1] [/4]
FORMAT том [/Q] [/1] [/4] [/8]

  том             Указывает букву диска (с последующим двоеточием),
                  точку подключения или имя тома.
  /FS:filesystem  Указывает тип файловой системы (FAT, FAT32, или NTFS).
  /V:метка        Метка тома.
  /Q              Быстрое форматирование.
  /C              Установка режима сжатия по умолчанию для всех файлов,
                  создаваемых на новом томе.
  /X              Инициирует отключение тома, в качестве первого действия, если
                это необходимо. Все открытые дескрипторы тома будут неверны.
/A:размер         Заменяет размер кластера по умолчанию. В общих случаях
                  рекомендуется использовать размеры кластера по умолчанию.
                  NTFS поддерживает размеры 512, 1024, 2048, 4096, 8192, 16КБ,
                  32КБ, 64K.
                  FAT поддерживает размеры 512, 1024, 2048, 4096, 8192, 16КБ,
                  32КБ, 64КБ, (128КБ, 256КБ для размера сектора > 512 Байт).
                  FAT32 поддерживает размеры 512, 1024, 2048, 4096, 8192, 16КБ,
                  32КБ, 64КБ, (128КБ, 256КБ для размера сектора > 512 Байт).

                  Файловые системы FAT и FAT32 налагают следующие ограничения
                  на число кластеров тома:

                  FAT: число кластеров <= 65526
                  FAT32: 65526 < число кластеров < 268435446

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

                  Сжатие томов NTFS не поддерживается для размеров кластеров
                  более 4096 Байт.
  /F:размер       Указывает размер форматируемых гибких дисков (160,
                  180, 320, 360, 640, 720, 1.2, 1.23, 1.44, 2.88, или 20.8).
  /T:дорожки      Число дорожек на каждой стороне диска.
  /N:секторы      Число секторов на каждой дорожке.
  /1              Форматирование одной стороны гибкого диска.
  /4              Форматирование 5,25" дискеты емкостью 360 КБ
                  в дисководе высокой плотности.
  /8              Создание восьми секторов на каждой дорожке.

ftype

Просмотр и изменение типов файлов, сопоставленных с расширением имен файлов


FTYPE [типФайлов[=[команднаяСтрокаОткрытия]]]

  типФайлов                 Тип файлов для просмотра или изменения
  команднаяСтрокаОткрытия   Команда открытия для использования при запуске
                            файлов указанного типа.

Команда FTYPE без параметров выводит текущий список типов файлов, для которых
определены командные строки открытия.  Если указан только тип файла, FTYPE
выводит командную строку открытия для этого типа файлов.  Если после знака
равенства не указана строка открытия, FTYPE удалит текущее сопоставление для
указанного типа файлов.  При вызове переменные командной строки переменные
%0 и %1 заменяются на имя файла, запускаемого с помощью сопоставления.
Вместо переменной %* подставляются все параметры, а переменные %2, %3
и т.д. заменяются, соответственно, на первый, второй и другие параметры.
Вместо переменной %~n подставляются все оставшиеся параметры, начиная с n,
где n является числом от 2 до 9.  Например:

    ASSOC .pl=PerlScript
    FTYPE PerlScript=perl.exe %1 %*

Эти команды позволят вызывать обработчик команд Perl следующим образом:

    script.pl 1 2 3

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

    set PATHEXT=.pl;%PATHEXT%

Теперь обработчик команд вызывается еще проще:

    script 1 2 3

goto

Передача управления содержащей метку строке пакетного файла.


GOTO метка

  метка   Строка пакетного файла, оформленная как метка.

Метка должна находиться в отдельной строке и начинаться с двоеточия.

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

Команда GOTO принимает в качестве метки перехода строку :EOF, которая вызывает
передачу управления в конец текущего пакетного файла.  Это позволяет легко
выйти из пакетного файла без определения каких-либо меток.  Команда CALL /?
выводит описание расширенных возможностей команды CALL, делающих эту функцию
особенно полезной.

graftabl

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


GRAFTABL [xxx]
GRAFTABL /STATUS

   xxx      Номер кодовой страницы.

   /STATUS  Вывод номера текущей кодовой страницы.

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

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

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

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