Практическое использование системы команд Windows

NovaInfo 11, скачать PDF
Опубликовано
Раздел: Технические науки
Просмотров за месяц: 6
CC BY-NC

Аннотация

В статье рассматривается практическое использование системы команд Windows.

Ключевые слова

ПРОГРАММА, С#, КОМПЛЕКСИРОВАНИЕ, ПРОГРАММНЫЕ СРЕДСТВА, WINDOWS, СИСТЕМЫ КОМАНД, ПЕРЕХВАТ ПОТОКА, ПРАКТИЧЕСКОЕ ИСПОЛЬЗОВАНИЕ, АДРЕС ПРОГРАММЫ, CMD ФАЙЛ, СОЗДАНИЕ МЕНЮ, FIND.EXE, MSINFO32, FINDSTR, SORT, FTYPE, SUBST

Текст научной работы

Перехват потока

«Перехватить поток» — это значит перенаправить его туда, где он необходим.

Практически любая программа работает по следующей схеме:

Перехват потока
Рисунок 1. Перехват потока

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

Перенаправление потока в операционной системе Windows выполняется с помощью трёх команд:

  • <
  • >
  • >>

Команда "<" — это команда перенаправления входного потока.

Острие команды показывает, куда она направлена. Например: команда

<strong>debug.exe</strong> &lt; file.txt

направляет входной поток из файла file.txt на вход программы debug.exe.

Это значит, что в файле file.txt записана последовательность команд, которую должна выполнить программа debug.exe.

Команда ">" это команда перенаправления выходного потока. Острие команды так же показывает, куда она направлена. Например:

Debug.exe &gt; file1.txt.

означает, что результаты работы программы debug.exe будут направляться не на экран (как обычно), а в файл file1.txt.

Если этого файла не существует, он будет создан. А если он существует, его содержимое будет заменено результатами работы программы debug.exe. Т. е. информация в этот файл поступит, начиная с самого его начала.

Команда ">>" это команда перенаправления выходного потока. Острие команды так же показывает, куда она направлена.

Например:Debug.exe &gt;&gt; file2.txt.

означает, что результаты работы программы debug.exe будут направляться не на экран, а в файл file2.txt.

Если этого файла не существует, он будет создан. А если он существует, его содержимое будет дополнено результатами работы программы debug.exe. Причём эти результаты ничего не уничтожат в файле, они дополнят старое содержимое файла (новые данные будут дописаны в его конец).

Как узнать адрес программы, имеющейся в ОС Windows?

Тип файла характеризуется его расширением. Для обработки файлов определённого типа предназначена своя программа.

  • Определить тип файла можно с помощью команды assoc;
  • Имя обрабатывающей файлы этого типа программы и её адрес можно получить командой ftype:
Как узнать адрес программы, имеющейся в ОС Windows?
Рисунок 2. Как узнать адрес программы, имеющейся в ОС Windows?

Пример 1:

Определить, какая программа обрабатывает файлы с расширением .pcx?

По команде assoc получаем:

.pcx=PCXImage.Document

В этом ответе находим, что файлы pcx относятся к типу «PCXImage.Document».

Определим, кто является обработчиком этого типа файлов и где находится сам обработчик:

C:\&gt;ftype PCXImage.DocumentPCXImage.Document="C:\Program Files\Windows NT\Accessories\ImageVue\KodakPrv.exe"

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

Пример 2: надо узнать, где находится обработчик файлов, имеющих расширение htm. Выполняем:

C:\&gt;assoc .htm .htm=htmlfileC:\&gt;ftype htmlfilehtmlfile="C:\Program Files\Internet Explorer\iexplore.exe"
Как узнать адрес программы, имеющейся в ОС Windows?
Рисунок 3. Как узнать адрес программы, имеющейся в ОС Windows?

Составление отчёта с помощью cmd-файла

Для начала представим себе, как может выглядеть такой отчёт:

Отчет о выполнении пакетного файла 02.cmd Подготовил: студент 1 курса 11 группы:Ступков А.создан: 24.04.2009в14:391) Связать имя папки с виртуальным логическим диском1. Виртуальный диск O: будет связан с папкой2. На диске C: будет создана папка work3. Все файлы маски из будут скопированы в папкув папке ...найдены следующие текстовые файлы:______________________________________________01.cmd02.cmd02rep.txt02rp.cmd03.cmdff.txtfile1.txtlog3.txt______________________________________________копирование C:\_osso\ —&gt; ... файлы скопированы успешно.теперь папка work содержит следующие текстовые файлы:______________________________________________01.cmd02.cmd02rep.txt02rp.cmd03.cmdff.txtfile1.txtlog3.txt______________________________________________программа завершена.

Несмотря на краткость постановки задачи («Создать файл отчёта»), на самом деле данное задание имеет сложную структуру и включает в себя большое количество задач: для создания отчета надо не просто переправить содержимое экрана в файл, а написать сопроводительный текст, выделить для файла директорию, просмотреть содержимое папки, используемой при создании отчета, вывести содержимое экрана в файл отчета, и др.

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

Составление отчёта с помощью cmd-файла
Рисунок 4. Составление отчёта с помощью cmd-файла

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

@echo offecho Отчет о выполнении пакетного файла 02.cmd &gt; 02rep.txt echo. &gt;&gt;02rep.txtecho Подготовил: студент 1 курса 11 группы:&gt;&gt; 02rep.txtecho. &gt;&gt;02rep.txtecho Ступков А.&gt;&gt; 02rep.txtecho. &gt;&gt;02rep.txtecho создан: &gt;&gt;02rep.txtdate/t &gt;&gt;02rep.txtecho в &gt;&gt;02rep.txttime /t &gt;&gt;02rep.txtecho. &gt;&gt;02rep.txtecho 1) Связать имя папки с виртуальным логическим диском &gt;&gt;02rep.txtecho.&gt;&gt; 02rep.txtecho&nbsp; 1.&nbsp;&nbsp; Виртуальный диск O:&nbsp;&nbsp; будет связан с папкой C:\_osso&gt;&gt; 02rep.txtecho.&gt;&gt; 02rep.txtif not&nbsp; exist c:\_osso\nul&nbsp;&nbsp; (echo папка _osso не найдена!&nbsp;&nbsp; &gt;&gt; 02rep.txtgoto END)if exist O:\nul (echo Создание диска отменено: диск O: уже существует!&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt; 02rep.txt&nbsp; goto NOSU)else&nbsp;&nbsp; (&nbsp; echo создание виртуального диска O:&nbsp;&nbsp; ...&nbsp;&nbsp; &gt;&gt; 02rep.txt)SUBST O: C:\_ossoif errorlevel&nbsp; 1&nbsp;&nbsp; (echo не удалость создать диск O:!&nbsp;&nbsp; &gt;&gt; 02rep.txt&nbsp; goto END)else&nbsp;&nbsp; (&nbsp; echo диск O:&nbsp;&nbsp; создан и сопоставлен пути C:\_osso успешно.&gt;&gt; 02rep.txt):NOSUecho.&nbsp;&nbsp; &gt;&gt; 02rep.txtecho 2.&nbsp;&nbsp; На диске C:&nbsp;&nbsp; будет создана папка work &gt;&gt; 02rep.txt echo.&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt; 02rep.txtif exist&nbsp; C:\work\nul&nbsp;&nbsp; (&nbsp; echo Создание папки отменено:&nbsp; папка work уже существует!&nbsp;&nbsp; &gt;&gt; 02rep.txtgoto AFMD) else&nbsp;&nbsp; (&nbsp; echo создание папки c:\work&nbsp; ...&nbsp;&nbsp; &gt;&gt; 02rep.txt)MD C:\workif errorlevel&nbsp; 1&nbsp;&nbsp; (&nbsp; echo не удалость&nbsp; создать папку work!&nbsp;&nbsp; &gt;&gt;02rep.txt goto END) else&nbsp;&nbsp; (&nbsp; echo папка work создана успешно.&nbsp;&nbsp; &gt;&gt; 02rep.txt): AFMDecho. &gt;&gt; 02rep.txtecho&nbsp; 3.&nbsp;&nbsp; Все файлы %1 маски из C:\_osso &gt;&gt; 02rep.txtecho&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; будут скопированы в папку C:\work &gt;&gt; 02rep.txtecho. &gt;&gt; 02rep.txtecho поиск текстовых файлов в папке c:\_osso... &gt;&gt; 02rep.txt if not&nbsp; exist C:\_osso\%1&nbsp;&nbsp; (echo&nbsp; текстовые файлы не найдены.&nbsp;&nbsp;&nbsp;&nbsp; &gt;&gt; 02rep.txtgoto END)echo. &gt;&gt; 02rep.txtecho найдены следующие текстовые файлы: &gt;&gt; 02rep.txtecho&nbsp;&nbsp;&nbsp; ________________________________ &gt;&gt; 02rep.txtecho&nbsp; / \ &gt;&gt; 02rep.txtDIR C:\_osso\%1 /B /P &gt;&gt; 02rep.txtecho&nbsp; \________________________________ /&nbsp; &gt;&gt; 02rep.txtecho. &gt;&gt; 02rep.txtecho копирование C:\_osso\%1&nbsp; —Л&gt; C:\work&nbsp; ...&nbsp;&nbsp; &gt;&gt; 02rep.txtecho. &gt;&gt; 02rep.txtCOPY C:\_osso\%1&nbsp; C:\workecho. &gt;&gt; 02rep.txtif errorlevel&nbsp; 1&nbsp;&nbsp; (&nbsp; echo возникли ошибки...&nbsp; &gt;&gt; 02rep.txtgoto END) else&nbsp;&nbsp; (&nbsp; echo файлы копированы успешно.&nbsp;&nbsp; &gt;&gt; 02rep.txt)echo. &gt;&gt;02rep.txtecho&nbsp; теперь&nbsp; папка work содержит следующие текстовые файлы: &gt;&gt; 02rep.txtecho&nbsp;&nbsp;&nbsp; _ &gt;&gt;02rep.txt      ______________________echo /                       \ &gt;&gt;02rep.txtDIR C:\work\%1 /B /P &gt;&gt;02rep.txtecho&nbsp; \______________________/ &gt;&gt;02rep.txt: ENDecho. &gt;&gt;02rep.txtecho программа завершена. &gt;&gt;02rep.txtecho.clsecho Отчет создан успешно и записан в файл 02rep.txtpausecls

Создание меню

Меню в командной строке Windows2000/XP создаётся из нескольких BAT- или CMD- файлов, находящихся в одной директории.

При создании меню создается cmd-файл, содержащий пункты меню и команду PROMPT, которая содержит текст «Введите номер выбранного пункта и нажмите ENTER...».

Кроме этого файла создаются cmd-файлы с именами 1,2,3,4 и т.д., эти файлы выполняют действия пунктов, которые содержатся в меню. Каждый из этих файлов заканчивается командой вызова основного cmd-файла меню.

Последний файл меню содержит команду выхода из меню.

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

Т.к. для создании меню применяется команда PROMPT, а в примере также используется архиватор WINRAR, в приложении приводятся соответствующие Help.

Пример создания меню с помощью cmd-файлов.

Шаг №1- Создаём файл menu.cmd

C:\&gt;copy con menu.cmdEcho off ClsEcho Стартовое менюEcho. Echo.Echo 1.&nbsp;&nbsp; Просмотреть&nbsp; содержимое файла.Echo. Echo.Echo 2.&nbsp; Архивировать&nbsp; файл и удалить исходный.Echo. Echo.Echo 3.&nbsp;&nbsp; Разархивировать&nbsp; файл и удалить&nbsp; архив.Echo. Echo.Echo 4.&nbsp; Выход.Echo.Prompt&nbsp; Введите номер и нажмите ENTER...

Команда Prompt в процессе работы командного файла выводит новое приглашение командной строки — надпись «Введите номер и нажмите ENTER...». После этой надписи должна быть набрана цифра 1,2,3 или 4 — эти цифры соответствуют именам cmd-файлов, пример создания которых будет приведён ниже, эти cmd-файлы будут выполнять действия, предлагаемые в меню.

При запуске созданного файла menu из командной строки на экране появится меню:

Стартовое меню1. Просмотреть содержимое файла2. Архивировать файл и удалить исходный3. Разархивировать файлы и удалить архив4. ВыходВведите номер и нажмите ENTER...

Теперь создадим файлы с именами 1,2,3 и 4. Эти файлы будут выполнять следующие действия:

  1. Просматривать содержимое введённого замещающим параметром файла;
  2. Архивировать указанный файл и удалять исходный файл;
  3. Разархивироввать указанный архив в указанную замещающим параметром директорию, и удалять архив;
  4. Выход из меню;

Структура файла 1.cmd и обращение к нему:

Создадим файл 1.cmd

Введите номер и нажмите ENTER...

C:\&gt;copy con 1 .cmd type %1 |more раuse menu

%1 — замещаемый параметр, т.е. вместо %1 из командной строки вводится путь и имя просматриваемого файла.

|more — этот параметр останавливает содержимое экрана в том случае, если информация о содержимом файла не помещается на экран.

Pause — останавливает экран до нажатия любой клавиши, после чего срабатывает команда menu (имя файла который содержит внешний вид меню) и происходит возврат в меню.

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

Пример 1. Обращение к файлу 1.cmd: информация из файла выводится на экран (обращение выделено):

Стартовое меню1. Просмотреть содержимое файла2. Архивировать файл и удалить исходиый3. Разархивировать файлы и удалить архив4. ВыходВведите номер и нажмите ENTER... C:\vns\ll\tl.txtВыводиться текстPauseДля продолжения нажмите любую клавишу...

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

Структура файла 2.cmd и обращение к нему:

Создадим файл 2.cmd

cd %irar а %2 %3del «3cd с:\menu

сd %1 — эта команда автоматически переводит нас в папку где установлен архиватор, делая её активной. (Папка с местонахождением архиватора задаётся замещаемым параметром. (Обычно — это files\Winrar))

Rаr а %2 %3 — команда архивирует указанный файл (например, если для %3 заданоС:\vms\ll\tl.txt) в архив tl.rar (если для %2 задано С:\vms\ll\tl.rar).

Del %3 — команда удаляет файл который был заархивирован (когда для %3 было задано)

Обращение к файлу при выборе пункта 2 меню будет выглядеть следующим образом (обращение выделено):

Стартовое меню1. Просмотреть содержимое ф аила2. Архивировать ф айл и удалить исходный3. Разархивировать ф айлы и удалить архив 4 RhiwnAВведите номер и нажмите ENTER. C:\Program iites\Winrar C:\vtns\11\t1.rarВведите номер и нажмите ENTER. cd c:\program files\WinrarВведите номер и нажмите ENTER. rar a c:\vms\11\t1.rar c:\vmз\11\t1.txtRAR 2.71&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Авторские права (С) 1993-2000 Евгений Рошал&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20 июня 2000Незарегистрированная копия.&nbsp;&nbsp;&nbsp; Наберите RAR -? для получения справкиНезарегистрированная копия. Пожалуйста, зарегистрируйтесь.Создание архива c:\vms\11\t1.rarДобавление vms\11\t1.txt ОКГотовоВведите номер и нажмите ENTER...del c:\vms\11\t1.txtВведите номер и нажмите ENTER...cd c:\

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

Структура файла 3.cmd и обращение к нему:

Создадим файл 3.cmd

cd %2rar е %2 %Зdel %1cd\menu

Cd %1 -. эта команда автоматически переводит нас в папку, где установлен архиватор, делая её активной. (Папка с местонахождением архиватора задаётся замещаемым параметром (C:\Program files\Winrar))

Rаг е %2 %3 - команда разархивирует указанный архив (для %2 = (C:\vms\11\t1.rar)). в указанную директорию (для %3 = (C:\vms\11\)).

Del %2 — команда удаляет архив который был разархивирован (для %2 = (C:\vms\ll\tl.rar))

Обращение к файлу выглядит следующим образом (обращение выделено):

Стартовое меню1. Просмотреть содержимое файла2. Архивировать файл и удалить исходный3. Разархивировать файлы и удалить архив4. ВыходВведите номер и нажмите ENTER...C:\Program iites\Winrar C:\vtns\11\t1.rarВведите номер и нажмите ENTER...cd c:\program files\WinrarВведите номер и нажмите ENTER...rar e c:\vms\11\t1.rar c:\vmз\11\Извлечение из c:\vms\11\t1.rarИзвлечение c:\vms\11\t1.txt ОКВведите номер и нажмите ENTER...del c:\vms\11\t1.rarВведите номер и нажмите ENTER...cd c:\

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

Структура файла 4.cmd и обращение к нему:

Создадим файл 4.cmd

Exit

Файл 4.cmd содержит одну команду exit, это команда выхода из меню.

Обращение к файлу:

Стартовое меню1. Просмотреть содержимое файла2. Заархивировать файл и удалить его3. Разархивировать файлы и удалить архив4. ВыходВведите номер и нажмите ENTER...4

При обращении к файлу 4.cmd происходит выход из меню.

Исследование программы Find.exe

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

1) Создадим текстовый файл Sample.txt на диске с:

Белеет парус одинокийВ тумане моря голубомЧто ищешь ты в стране далекой

2) формат команды:

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

где "строка" — Искомая строка (шаблон для поиска).

[диск:][путь]имя_файла — Один или несколько файлов, в которых выполняется поиск.

/ V — Вывод всех строк, НЕ содержащих заданную строку.

C:\&gt;find /v "моря" c:\samp1e.bat..........C:\SAMPLE.TXTБелеет парус одинокийЧто ишешь ты в стране далекой

— Вывод только общего числа строк, содержащих заданную строку.

C:\&gt;find /с "моря" c:\sample.txt ..........C:\SAMPLE.TXT: 1

/N — Вывод номеров отображаемых строк.

C:\&gt;find /п "моря" c:\sample.txt..........C:\SAMPLE.TXT[2]В тумане моря голубом

/I — Поиск без учета регистра символов.

C:\&gt;fmd /i "моря" c:\samplе.txt..........C:\SAMPLE.TXTВ тумане моря голубом

Создание командного файла, использующего программу Find.exe

Создадим командный файл Fstring.bat, использующий программу Find.exe.

C:\&gt;copy con fstring.bat find /%1 "%2" С:/%3^ZСкопировано файлов:       1.

В данном примере:

%1 — переменная, запрашивающая параметр вывода ([/V] [/С] [/N] [/I]).

%2 — переменная, запрашивающая строку для поиска.

%3 — переменная, запрашивающая файл с диска "С:" в котором будет искаться данная строка.

Далее создадим текстовый файл в котором мы будем искать строку.

I asked him about comandnles And what do you think he answered He told that it is very simple To make it properly

Теперь введем команду fstring 12 3, где 1, 2 и 3 — параметры функции.

Например:

С:\&gt;fistring n do sample.txtC:\&gt;find/n "do" с:/sample.txt..........C:/SAMPLE.TXT[2]And what do you think he answered

Управление из командной строки программой msinfo32

Помимо средства «Сведения о системе» для просмотра данных об управляемом компьютере можно использовать команду msinfo32.

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

Синтаксис

msinfo32 [/?] [/pch] [/nfo имяфайла] [/report имяфайла] [/computer имя компьютера] [/showcategories] [/category код категории] [/categories код категории]

Параметры

имяфайла — файл, который требуется открыть. Файл может иметь расширение NFO, XML, TXT или CAB.

/? — отображение справки по команде msinfo32.

/pch — отображение журнала.

/nfo имяфайла — сохранение экспортированного файла как NFO-файла.

/report имяфайла — сохранение экспортированного файла как TXT-файла.

/computer имякомпьютера — открытие окна сведений о системе для указанного удаленного компьютера.

/showcategories — открытие окна сведений о системе, содержащего все доступные коды категорий.

/category код категории - Открытие окна сведений о системе, в котором выбрана указанная категория. Для отображения списка доступных кодов категорий служит параметр /showcategories.

/categories кодкатегории — открытие окна сведений о системе, содержащего только указанные категории. Вывод также ограничивается только выбранными категориями. Для отображения списка доступных кодов категорий служит параметр /showcategories

Примеры

Чтобы получить список доступных кодов категорий, введите:

msinfo32 /showcategories

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

msinfo32 /categories +all -loadedmodules

Чтобы открыть окно сведений о системе и создать NFO-файл syssum.nfo, содержащий сведения категории «Сведения о системе», введите:

msinfo32 /nfo syssum.nfo /categories +systemsummary

Чтобы вывести сведения о конфликте ресурсов и создать NFO-файл conflicts.nfo, содержащий сведения о конфликтах ресурсов, введите:

msinfo32 /nfo conflicts.nfo /categories +componentsproblemdevices+resourcesconflicts+resourcesforcedha rdware

Команда FINDSTR

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

Формат команды:

findstr [/b] [/е] [/I] [/r] [/s] [/i] [/х] [/v] [/n] [/m] [/о] [/p] [/offline] [/g:файл] [/f:файл] [/с:строка] [/d:СписокКаталогое] [/a:АтрибутЦвета] [строки] [[диск:][путъ] ИмяФайла [...]]

, где строки — текст, поиск которого производится в файле, заданном параметром ИмяФайла [диск:][путь] ИмяФайла [...] — файл или несколько файлов для поиска

Таблица 1 Ключи команды

/b

Сравнивает шаблон с началом строки.

Сравнивает шаблон с концом строки.

/I

Использует заданную строку буквально.

/r

Использует строку поиска как регулярное выражение. Команда Findstr интерпретирует все метасимволы как регулярные выражения, если не используется ключ /I.

/s

Задает поиск файлов в текущем каталоге и его подкаталогах.

/i

Задает поиск без различия строчных и заглавных букв.

Печатает точно совпавшие строки.

/v

Печатает строки, не содержащие совпадений.

/n

Печатает в начале совпавшей строки ее номер.

/m

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

/o

Печатает смещение перед выводом строки с совпадением.

/p

Пропускает файлы с непечатаемыми символами.

/offline

Обработка файлов с автономным атрибутом.

/f:файл

Читает список из заданного файла.

/с:строка

Использует заданный текст как литеральную строку поиска.

/g:файл

Получает строки поиска из заданного файла.

/d:Список каталогов

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

/а:Атрибут цвета

Задает атрибуты цвета двумя шестнадцатеричными цифрами.

Пример использования команды findstr:

Сначала создадим текстовый файл 1.txt, используя команду copy con:

Пример использования команды findstr. Сначала создадим текстовый файл 1.txt, используя команду copy con.
Рисунок 5. Пример использования команды findstr. Сначала создадим текстовый файл 1.txt, используя команду copy con.

Теперь найдем строки содержащие слово «Я». Для этого введем команду:

C:\&gt;findstr "Я" 1.txt
Теперь найдем строки содержащие слово «Я». Для этого введем команду: C:\>findstr
Рисунок 6. Теперь найдем строки содержащие слово «Я». Для этого введем команду: C:\>findstr "Я" 1.txt

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

C:\&gt;findstr /с:"обманываться рад" 1.txt
Если нам необходимо найти целую строку или определенное словосочетание, то воспользуемся командой: C:\>findstr /с:
Рисунок 7. Если нам необходимо найти целую строку или определенное словосочетание, то воспользуемся командой: C:\>findstr /с:"обманываться рад" 1.txt

Для вывода на экран строк не содержащих совпадений воспользуемся командой:

C:\&gt;findstr /v /с:"обманываться рад" 1.txt

Команда SORT

Команда SORT считывает входящие данные, сортирует их. Результат может быть выведен на экран, в файл или на другое устройство.

Формат команды:

SORT [/R] [/+n] [/M килобайтов] [/I язык] [/REC символов] [[диск1:][путь1]имя_файла1] [/T [диск2:][путь2]] [/O [диск3:][путь3]имя_файла3]

, где ключи команды:

Изменяет порядок сортировки, задает сортировку от Z к A, затем от 9 к 0.

/+n

Указывает номер позиции символа, n, начиная с которой sort выполняет сравнение.

/m килобайты

Указывает количество основной памяти, используемой для сортировки (в килобайтах).

/I язык

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

/rec символы

Указывает максимальное число символов в записи (или строке) входного файла. (Значение по умолчанию равно 4096, максимальное значение — 65535).

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

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

/t [диск2:][путь2]

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

/o [диск3:][путь3]имя файла3

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

Так же команда SORT без параметров может быть использована для сортировки информации, вводимой с клавиатуры. Затем следует ввести текст, который необходимо отсортировать; каждая строка заканчивается нажатием клавиши ENTER. Когда ввод будет закончен, следует нажать комбинацию CTRL+Z и ENTER. Команда sort выведет на экран введенные строки, отсортированные в алфавитном порядке.

Команда — FTYPE

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

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

типФайлов — Тип файлов для просмотра или изменения

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

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

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

script.pl 1 2 3
  • Если желательно избежать постоянного ввода расширения имен файлов, введите следующую команду:
set PATHEXT=.pl;%PATHEXT% 

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

script 1 2 3

Команда subst

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

Формат команды

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

где

диск1: Виртуальный диск, который сопоставляется указанному пути.

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

/D Удаление ранее созданного виртуального диска.

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

Создадим виртуальный диск М, который сопоставляется с путём:

Создадим виртуальный диск М, который сопоставляется с путём
Рисунок 8. Создадим виртуальный диск М, который сопоставляется с путём

Таким образом, в папке «Мой компьютер» появится новый диск М:

Таким образом, в папке «Мой компьютер» появится новый диск М
Рисунок 9. Таким образом, в папке «Мой компьютер» появится новый диск М

Теперь удалим этот диск:

Теперь удалим этот диск
Рисунок 10. Теперь удалим этот диск

Соответственно, он перестанет существовать и в «Моём компьютере».

Исправление тестирующей программы за счёт комплексирования программных средств

Постановка задачи: имеется программа для тестирования знаний по методу «один правильный ответ». Программа может быть использована для тестирования разнообразных знаний. С этой целью задаваемые вопросы, возможные ответы на них и правильные ответы содержатся в текстовом файле с расширением .dat,

Необходимо скрыть текстовый файл от тестируемых.

При решении этой задачи реализован следующий подход: на языке C# составлена программа зашифровки текста (shifruem.cs). С её помощью текст превращается в зашифрованный файл с расширением ".s".

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

  • Текстовый файл с расширением ".s"
  • Программа расшифровки "d.exe", создающая файл с расширением .dat
  • Тестирующая программа tt.exe
  • Два cmd-файла: "begin.cmd" и "tt1.cmd";

Файл "begin.cmd" создаёт на диске С: скрытую папку, путь к которой превращает в логический диск W. На этот диск переписываются тестирующая программа и восстановленный текстовый файл с вопросами теста и ответами на них. Правильный ответ располагается всегда первым. Логический диск W существует только во время тестирования и удаляется при выходе из программы.

Сказать, что так создана идеальная система защиты от несанкционированного просмотра ключевого файла, нельзя. Но для того, чтобы найти этот файл, надо понимать команды, в cmd-файлах. А это требует наличия у тестируемого определённой квалификации.

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

Далее приводятся: содержание подготовленной к тестированию папки, тексты cmd-файлов, внешний вид экрана во время тестирования и текст программы shifruem.cs.

Подготовленная к тестированию папка содержит:

Подготовленная к тестированию папка содержит
Рисунок 11. Подготовленная к тестированию папка содержит

Текст файла Begin.cmd:

@echo off color F0if not&nbsp; exist c:\12 md c:\12\if not&nbsp; exist c:\12\weojrdkci md c:\12\weojrdkci if not&nbsp; exist w:&nbsp;&nbsp; subst w:&nbsp;&nbsp; c:\12\weojrdkci attrib +H +S&nbsp;&nbsp;&nbsp; /S&nbsp; /D c:\12\weojrdkci D.execopy test1.dat w:\test1.dat copy 2.s w:\2.s copy Tt.exe w:\Tt.exe copy tt1.cmd w:\tt1.cmddel test1.datrem del&nbsp; D.exe 2.s Tt.exe tt1.cmd test1.dat w:tt1.cmd

Текст файла tt1.cmd:

@echo offtt.exec:subst w:   /d

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

В данном случае цель достигается за счёт комплексирования программных средств: не имеющего исходных текстов файла тестера (не только не имеющего исходных текстов, но и неизвестно, на каком языке написанного), двух простых программ -написанных на языке C#, и двух командных файлов операционной системы Windows.

В данном случае цель достигается за счёт комплексирования программных средств: не имеющего исходных текстов файла тестера (не только не имеющего исходных текстов, но и неизвестно, на каком языке написанного), двух простых программ -написанных на языке C#, и двух командных файлов операционной системы Windows.
Рисунок 12. В данном случае цель достигается за счёт комплексирования программных средств: не имеющего исходных текстов файла тестера (не только не имеющего исходных текстов, но и неизвестно, на каком языке написанного), двух простых программ -написанных на языке C#, и двух командных файлов операционной системы Windows.

А зашифровка ведётся программой Shifruem.exe.

Текст программы Shifruem.exe:

using System; using System.IO; using System.Text; namespace&nbsp; FileStream {class Class1 {[STAThread]static void Main(string[] args) {//Ооздаем экземпляр Chitat&nbsp;&nbsp;&nbsp; класса StreamReader и указываем путь&nbsp; к файлу и его названиеStreamReader Chitat = new StreamReader("test1.txt",System.Text.Encoding.GetEncoding("w indows-1251"));//&nbsp; Объявляем переменную A.string A;//В переменную А считываем содержимое файла.A = Chitat.ReadToEnd();//Закрываем потокChitat.Close();//объявляем переменную temp, в которой накапливается //зашифрованный текстstring temp = "";//&nbsp;&nbsp;&nbsp; Шифруем!!!for (int i = 0; i &lt; A.Length; i++) temp += (char)(A[i] + 1);// Выводим на экран:  //string AC=" Вот,  что сделали: &nbsp;&nbsp; ";//Console.WriteLine(AC);//Console.WriteLine(temp); //Останавливаемся для просмотра: //Console.ReadLine();//Создаем экземпляр Pisat //класса StreamWriter StreamWriter Pisat = new StreamWriter("2.s", true, System.Text.Encoding.Unicode);//Вызываем метод Write экземпляра Pisat Pisat.Write(temp); //Закрываем потокPisat.Close();}}}

Читайте также

Цитировать

Кириченко, А.А. Практическое использование системы команд Windows / А.А. Кириченко. — Текст : электронный // NovaInfo, 2013. — № 11. — URL: https://novainfo.ru/article/2407 (дата обращения: 05.10.2022).

Поделиться