Справочник параметров командной строки

       

Чтобы сравнить два текстовых файла


Чтобы сравнить два текстовых файла с именами Monthly.rpt и Sales.rpt и вывести результат в сокращенном формате, введите:
fc /a monthly.rpt sales.rpt
Для двоичного сравнения двух пакетных файлов Profits.bat и Earnings.bat введите:
fc /b profits.bat earnings.bat
Результат будет иметь следующий вид:
00000002: 72 43 00000004: 65 3A 0000000E: 56 92 00000012: 6D 5C 00000013: 0D 7C 00000014: 0D 0A 00000015: 0A 0D 0000001E: 43 7A 0000001F: 09 0A 00000022: 72 44 ... ... ... 000005E0: 00 61 000005E1: 00 73 000005E2: 00 73 000005E3: 00 69 000005E4: 00 67 000005E5: 00 6E 000005E6: 00 6D 000005E7: 00 65 000005E8: 00 6E FC: Earnings.bat длиннее, чем Profits.bat
Если файлы Profits.bat и Earnings.bat одинаковы, fc выводит на экран следующее сообщение:
FC: различия не найдены
Для сравнения каждого файла .bat в текущем каталоге с файлом New.bat введите:
fc *.bat new.bat
Для сравнения файла New.bat на диске C с файлом New.bat на диске D введите:
fc c:new.bat d:*.bat
Для сравнения каждого пакетного файла в корневом каталоге диска C с файлом с таким же именем в корневом каталоге на диске введите:
fc c:*.bat d:*.bat


Чтобы разрешить подсистеме MS- DOS открывать до восьми файлов одновременно с использованием блоков управления файлом, в файл Config.nt необходимо включить следующую команду:


fcbs=8


Чтобы разрешить подсистеме MS-DOS иметь доступ одновременно к 20 файлам, в файл Config. nt должна быть включена следующая команда:
files=20


Для вывода всех строк из файла Pencil.ad, которые содержат слова «Точилка» служит следующая команда:
find "Точилка" pencil.ad
Для поиска строки, содержащей текст, указанный в кавычках, необходимо сначала заключить в кавычки всю строку. Во-вторых, необходимо использовать двойные кавычки для каждых кавычек, содержащихся в строке. Поиск Ученый пометил свой документ ""только для дискуссии"". Это не окончательный отчет." В Report.doc введите:
find "Ученый пометил свой документ ""только для дискуссии."" Это не окончательный отчет." report.doc
Если поиск требуется провести в нескольких файлах, следует использовать команду find с командой for. Для поиска файлов с расширением .bat, содержащих строку "PROMPT", можно использовать следующую команду:
for %f in (*.bat) do find "PROMPT" %f
Для поиска на жестком диске C файлов, содержащих строку "CPU" и отображения их имен используйте символ канала (|), чтобы направить результаты команды dir в команду find:
dir c:\ /s /b | find "CPU"
Так как команда find проводит поиск, различая строчные и заглавные буквы, а команда dir выводит результаты заглавными буквами, необходимо задать строку "CPU" заглавными буквами или использовать ключ /i в команде find.


Для отделения строк поиска друг от друга следует использовать пробелы, кроме тех случаев, когда задан ключ /c. Для поиска слова "hello" или "there" в файле x.y введите следующую каманду:
findstr "hello there" x.y
Для поиска словосочетания "hello there" в файле x.y введите следующую каманду:
findstr /c:"hello there" x.y
Для поиска всех слов "Windows" (с первой заглавной буквой W) в файле Proposal.txt может быть использована следующая команда:
findstr Windows proposal.txt
Для поиска в каждом файле текущего каталога и в файлах всех подкаталогов слова "Windows" без учета строчных и заглавных букв может быть использована следующая команда:
findstr /s /i Windows *.*
Для поиска всех строк, содержащих слово "FOR", перед которым идет несколько пробелов (чтобы найти в программе оператор цикла), с выводом номера каждой строки можно использовать команду:
findstr /b /n /c:" *FOR" *.bas
Если требуется найти несколько разных наборов символов в нескольких файлах, можно создать текстовый файл, каждая строка которого содержит образец для поиска. Также можно задать точный список файлов, если поиск будет производиться в текстовых файлах. Для использования файла Finddata.txt, содержащего образцы для поиска, файла Filelist.txt, содержащего список файлов, в которых будет производиться поиск, и записи результатов работы программы в файл Results.out служит следующая команда:
findstr /g:finddata.txt /f:filelist.txt > results.out
Предположим, необходимо найти каждый файл в текущем каталоге и его подкаталогах, содержащий слово "computer" без различия строчных и заглавных букв. Для вывода списка таких файлов можно использовать следующую команду:
findstr /s /i /m "\<computer\>" *.*
Теперь, предположим, требуется найти не только само слово "computer", но и все другие слова, начинающиеся с тех же букв, таких как "compliment" и "compete". Введите следующую команду:
findstr /s /i /m "\<comp.*" *.*


Чтобы отобразить сведения для user1 на компьютере users.microsoft.com, введите следующую команду:
finger user1@users.microsoft.com
Чтобы отобразить сведения для всех пользователей на компьютере users.microsoft.com, введите следующую команду:
finger @users.microsoft.com


В пакетных файлах используется следующий синтаксис для команды for:
for %%переменная in (множество) do команда [ПараметрыКоманднойСтроки]
Чтобы отобразить содержимое всех файлов, имеющих разрешение .doc или .txt, в текущем каталоге с помощью заменяемой переменной %f, введите следующую команду:
for %f in (*.doc *.txt) do type %f
В предыдущем примере каждый файл с расширением .doc или .txt в текущем каталоге будет подставляться вместо переменной %f, пока не будет выведено содержимое всех файлов. Чтобы использовать данную команду в пакетном файле, следует заменить все вхождения %f на %%f. В противном случае переменная игнорируется, и отображается сообщение об ошибке.
Чтобы произвести разбор файла, игнорируя комментарии, можно использовать следующую команду:
for /F "eol=; tokens=2,3* delims=," %i in (myfile.txt) do @echo %i %j %k
Данная команда производит разбор каждой строки в файле Myfile.txt, игнорируя строки, начинающиеся с точки с запятой, и передает второй и третий элементы из каждой строки в тело цикла команды FOR. Элементы разделяются запятыми и/или пробелами. Тело инструкции FOR использует %i для получения второго элемента, %j для получения третьего элемента и %k для получения оставшихся элементов в строке. Если имена файлов содержат пробелы, их следует заключать в кавычки (например, "ИмяФайла"). Для использования кавычек необходима команда usebackq. В противном случае кавычки рассматриваются как определение символьной строки для разбора.
Переменная %i объявлена явно в инструкции FOR, а %j и %k объявлены неявно с помощью tokens=. С помощью tokens= можно указать до 26 элементов, если это не вызовет попытки объявить переменную с именем, большим буквы "z" или "Z".
Для разбора вывода команды с помощью помещения параметра МножествоИменФайлов в скобки можно использовать следующую команду:
for /F "usebackq delims==" %i IN (`set`) DO @echo %i
В данном примере перечисляются имена переменных среды в текущем окружении.


Чтобы запустить программу Myprog из каталога \Oldapps и иметь возможность использовать каталог \Reports, введите следующую команду:
forcedos /d reports \oldapps\myprog


Чтобы отформатировать новый гибкий диск в дисководе A с использованием размера по умолчанию, следует ввести следующую команду:
format a:
Для быстрого форматирования ранее отформатированного диска в дисководе A можно использовать следующую команду:
format a: /q
Чтобы отформатировать гибкий диск в дисководе A и присвоить метку тома "DATA", следует использовать следующую команду:
format a: /v:DATA


Чтобы запросить «грязный» бит на диске C, введите:
fsutil dirty query C:
Пример выходных данных:
Том — C: изменен
или
Том — С: не изменен
Чтобы задать «грязный» бит на диске C, введите:
fsutil dirty set C:


Чтобы найти пользователя scottb на диске C по его идентификатору SID, введите:
fsutil file findbysid scottb C:\users
Чтобы запросить выделенные для файла области в томе NTFS, введите:
fsutil file queryallocranges offset=1024 length=64 C:\Temp\sample.txt
Чтобы задать короткое имя longfile.txt для файла longfilename.txt на диске C, введите:
fsutil file setshortname C:\longfilename.txt longfile.txt
Чтобы задать допустимую длину данных для файла области в томе NTFS, введите:
fsutil file setvaliddata C:\testfile.txt 4096
Чтобы задать нулевой диапазон для файла из тома NTFS, и обнулить этот диапазон введите:
fsutil file setzerodata offset=100 length=150 C:\Temp\sample.txt


Чтобы запросить тип диска для диска C, введите:
fsutil fsinfo drivetype C:
Возможные полученные ответы:
  • Неизвестный привод

  • Нет такой корневой папки

  • Съемный диск

  • Жесткий диск

  • Внешний или сетевой диск

  • Компакт-дисковод

  • Электронный диск

  • Чтобы запросить сведения о томе для тома E, введите:
    fsinfo volumeinfo E:\
    Пример выходных данных:
    Имя тома :
    Серийный номер тома : 0xd0b634d9
    Максимальная длина компонентов : 255
    Имя файловой системы : NTFS
    Поддерживает учет регистра в именах файлов
    Сохраняет имена файлов с учетом регистра
    Поддерживает использование Юникода к именах файлов
    Поддерживает обязательное использование списков доступа <ACL>
    Поддерживает сжатие файлов
    Поддерживает дисковые квоты
    Поддерживает разреженные файлы
    Поддерживает точки повторной обработки
    Поддерживает идентификаторы объектов
    Поддерживает шифрование на уровне файловой системы EFS
    Поддерживает поименованные объекты
    Чтобы запросить сведения NTFS о томе для привода F, введите:
    fsutil fsinfo ntfsinfo F:\
    Пример выходных данных:
    NTFS Volume Serial Number : 0xe660d46a60d442cb
    Number Sectors : 0x00000000010ea04f
    Total Clusters : 0x000000000021d409
    Free Clusters : 0x00000000000f222a
    Total Reserved : 0x0000000000003550
    Bytes Per Sector : 512
    Bytes Per Cluster : 4096
    Bytes Per FileRecord Segment : 1024
    Clusters Per FileRecord Segment : 0
    Mft Valid Data Length : 0x0000000003eab000
    Mft Start Lcn : 0x0000000000000004
    Mft2 Start Lcn : 0x000000000010ea04
    Mft Zone Start : 0x0000000000003ea0
    Mft Zone End : 0x0000000000004700
    Чтобы запросить статистику файловой системы для привода E, введите:
    fsinfo statistics E:
    Пример выходных данных:
    File System Type : NTFS
    Version : 1
    UserFileReads : 75021
    UserFileReadBytes : 1305244512
    UserDiskReads : 71213
    UserFileWrites : 8037
    UserFileWriteBytes : 207685440
    UserDiskWrites : 5278
    MetaDataReads : 14377
    MetaDataReadBytes : 58888192
    MetaDataDiskReads : 14773
    MetaDataWrites : 18705
    MetaDataWriteBytes : 138108928
    MetaDataDiskWrites : 21464
    MftReads : 9394
    MftReadBytes : 38477824
    MftWrites : 17061
    MftWriteBytes : 115359744
    Mft2Writes : 0
    Mft2WriteBytes : 0
    RootIndexReads : 0
    RootIndexReadBytes : 0
    RootIndexWrites : 0
    RootIndexWriteBytes : 0
    BitmapReads : 136
    BitmapReadBytes : 557056
    BitmapWrites : 1180
    BitmapWriteBytes : 11161600
    MftBitmapReads : 4
    MftBitmapReadBytes : 16384
    MftBitmapWrites : 118
    MftBitmapWriteBytes : 491520
    UserIndexReads : 2938
    UserIndexReadBytes : 12034048
    UserIndexWrites : 2738
    UserIndexWriteBytes : 20615168
    LogFileReads : 4
    LogFileReadBytes : 16384
    LogFileWrites : 8407
    LogFileWriteBytes : 180936704


    Чтобы создать идентификатор объекта, введите:
    fsutil objectid create C:\Temp\sample.txt
    Чтобы удалить идентификатор объекта, введите:
    fsutil objectid delete C:\Temp\sample.txt
    Чтобы запросить идентификатор объекта, введите:
    fsutil objectid get C:\Temp\sample.txt
    Чтобы задать идентификатор объекта, введите:
    fsutil objectid set 40dff02fc9b4d4118f120090273fa9fc f86ad6865fe8d21183910008c709d19e 40dff02fc9b4d4118f120090273fa9fc 00000000000000000000000000000000 C:\Temp\sample.txt


    Чтобы извлечь данные точки повторной обработки, связанные с C:\Server, введите:
    fsutil reparsepoint query C:\Server
    Чтобы удалить точку повторной обработки из указанного файла или каталога, используйте следующий формат.
    fsutil reparsepoint delete C:\Server


    Чтобы отметить файл как разреженный, введите, например:
    fsutil sparse setflag C:\Temp\sample.txt


    Чтобы создать журнал USN на диске С, введите:
    fsutil usn createjournal m=1000 a=100 C:
    Чтобы удалить активный журнал USN на диске С, введите:
    fsutil usn deletejournal /D C:
    Чтобы перечислить записи в заданном границами разделе журнала и ознакомиться с их списком, введите:
    fsutil usn enumdata 1 0 1 C:
    Чтобы запросить журнал о свободном месте на диске С, введите:
    fsutil usn queryjournal C:
    Чтобы сохранить данные USN в виде файла во временной папке на диске С, введите следующую команду:
    fsutil usn readdata C:\Temp\sample.txt


  • Чтобы отсоединитье том на диске С, введите:

  • fsutil volume dismount C:
  • Чтобы выполнить запрос о свободном месте на диске С, введите:

  • fsutil volume diskfree C:


    Чтобы подключиться к FTP-серверу с именем ftp.example.microsoft.com, введите:
    ftp ftp.example.microsoft.com
    Чтобы подключиться к FTP-серверу с именем ftp.example.microsoft. com как аноним, введите:
    ftp -A ftp.example.microsoft.com
    Чтобы подключиться к FTP-серверу с именем ftp.example.microsoft.com и выполнить ftp-команды, содержащиеся в файле Resynch.txt, введите:
    ftp -s:resynch.txt ftp.example.microsoft.com


    Чтобы просмотреть текущие типы файлов, для которых определены команды открытия, введите:
    ftype
    Чтобы просмотреть текущую команду открытия для определенного типа файла, введите:
    ftype тип_файла
    Чтобы удалить команду открытия для определенного типа файла, введите:
    ftype тип_файла=
    Введите
    ASSOC .pl=PerlScript FTYPE PerlScript=perl.exe %1 %*
    Чтобы вызвать сценарий Perl, введите:
    script.pl 1 2 3
    Чтобы избавиться от необходимости ввода расширений, введите:
    set PATHEXT=.pl;%PATHEXT%
    Чтобы вызвать сценарий Perl, введите:
    script 1 2 3

    Содержание раздела