Чтобы сравнить два текстовых файла
Чтобы сравнить два текстовых файла с именами 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