Командный файл имеет в ms dos расширение
В операционной системе MS-DOS и во всех операционных системах семейства Microsoft Windows простейшим средством автоматизации обработки файлов (и каталогов) служат так называемые командные файлы. Командные файлы — не единственное средство автоматизации работы пользователя даже из числа встроенных. В операционных системах семейства Microsoft Windows, начиная с версии 98, имеется еще Windows Script(ing) Host. Для этих же целей можно использовать какой-нибудь интерпретируемый язык Perl, Python или Ruby. Однако перечисленные средства, хотя и мощны, требуют умения программировать, т.е. составлять и, что немаловажно, отлаживать программы, хотя бы на неплохом любительском уровне. Использование же командных файлов доступно всякому без особенной подготовки.
В состав многих операционных систем, в том числе, разработанных корпорацией Microsoft, входит командный процессор. Так называется программа, которая инициирует выполнение всевозможных действий в ответ на команды, вводимые пользователем с клавиатуры. В основном эти действия заключаются в запуске нужных программ с теми или иными параметрами. Но не только; дальше мы увидим, что некоторые команды выполняются непосредственно командным процессором. В основном это те команды, которые служат для управления контекстом и последовательностью выполнения команд. Однако мы не будем особенно глубоко задумываться о природе команд, во всяком случае, без необходимости. Важнее другое: любая программа, которую технически возможно запустить из командной строки, рассматривается командным процессором как команда. Он не делает различий между «родными» командами, изначально встроенными в операционную систему, и программами, которые были установлены поверх нее.
Окно командного процессора в первозданном виде выглядит мрачно, и работать с ним большинству людей не очень удобно. Намного проще пользоваться файловыми менеджерами в стиле Norton Commander. В них предусмотрены как средства для быстрой навигации по файловой системе, так и срока для ввода команд.
Несколько команд, полезных для автоматизации обработки файлов и как ими пользоваться. Эти команды будут в дальнейшем использоваться в примерах. Детали можно уточнить по команде help :
Одно из общих правил синтаксиса команд MS-DOS состоит в том, что при указании параметров сначала указывается источник, а потом результат. Например, если мы хотим переместить файл file 1.txt из каталога box в каталог table, мы должны ввести команду: move box\ file 1.txt table. Сначала что переместить, потом куда переместить. Если нужно переименовать файл lena.txt в файл natasha.txt, то команда должна быть записана вот так: ren lena.txt natasha.txt . Сначала что переименовать, потом во что переименовать.
При работе с файловыми командами исключительную важность приобретает понятие текущего каталога. Дело в том, что при указании файла в качестве параметра команды мы всегда используем один из двух возможных способов указания на них: либо абсолютный (полный) путь, либо относительный путь. В полном пути мы указываем все, начиная с диска (или сетевого имени компьютера), например d:\misha\box\ car .txt . Какой бы каталог ни оказался текущим в момент ввода команды, полный путь будет соответствовать одному и тому же файлу. Для относительного пути текущий каталог служит отправной точкой. Простейший случай относительного пути — имя файла. В контексте выполнения команды оно означает файл с таким именем, расположенный в текущем каталоге. Для записи относительного пути к текущему каталогу существует условная запись . (точка). Для записи относительного пути к каталогу, в котором содержится текущий каталог, существует условная запись .. (две точки). Команда, показанная далее, копирует все файлы из текущего каталога в каталог neighbour, расположенный рядом с ним: copy *.* .\neighbour.
При обработке большого количества файлов или при систематическом выполнении одних и тех же команд это становится обременительно. Поэтому в командном процессоре предусмотрена возможность выполнения командных файлов.
Командным файлам принято давать расширение bat. По нему файлы этого типа опознаются командным процессором. Этот файл можно назвать, например, make-help.bat.
Для того, чтобы запустить командный файл, введите его имя в качестве команды. После этого командный файл будет выполнен. В командном файле каждая команда занимает одну строку. Точнее, существует способ расположить одну команду на нескольких подряд идущих строках, для этого непосредственно перед каждым переводом строки следует поставить символ «крышка» ^. (Необходимо, чтобы каждая «крышка» была последним символом в своей строке; после нее не должно быть пробелов и табуляций).
Для простоты, чтобы каждый раз не делать оговорок, считают, что в некотором смысле это одна длинная «логическая» строка. При выполнении командного файла командный процессор просматривает его сверху вниз от первой строки к последней и выполняет команды в том порядке, в котором их обнаруживает. Выполняет он в целом их так, как если бы каждая строка была введена вручную. В целом, потому что некоторые команды при вводе вручную и при выполнении из командного файла ведут себя немного по-разному. При необходимости последовательность выполнения команд можно изменить с помощью управляющих команд.
Командный файл, по существу, представляет собой программу, написанную на языке командного процессора операционной системы. Текст программы полагается снабжать комментариями, чтобы, вернувшись к нему некоторое время спустя, не вспоминать мучительно, для чего эта программа нужна, и как она устроена.
В системе команд MS-DOS для оформления комментариев предусмотрена команда rem. Это фиктивная команда, которая не предполагает выполнения каких бы то ни было действий, но позволяет написать в строке после своего имени произвольный текст. Причем командный процессор не воспринимает его как синтаксическую ошибку. Пример оформления командного файла комментариями:
Пусть нужно создать командный файл, который сначала формирует справку с описанием заданной пользователем команды, а потом загружает его для просмотра в блокнот. Фокус в том, чтобы при очередном запуске командного файла каким-то образом сообщить ему, какая именно команда нас интересует на этот раз.
Для решения этой задачи предусмотрен механизм обработки параметров. Работает он довольно просто. Если при запуске командного файла пользователь указал несколько параметров, то в тексте командного файла первый из них мы обозначаем записью %1, второй записью %2, третий записью %3 и т.д. Этими обозначениями используются в тексте командного файла примерно так же, как в естественной речи местоимениями. Текст командного файла, решающего поставленную задачу, приведен далее:
Пусть командному файлу присвоили имя show-help.bat. Для того чтобы загрузить в блокнот описание команды, например, dir, нужно ввести команду следующим образом:
show-help.bat dir. Следующий командный файл создает каталог с именем, указанным в первом параметре, и записывает в него файл с текстом описания команды, указанной во втором параметре:
Переменной называется поименованное значение. В учебниках по программированию переменную обычно сравнивают с конвертом, на котором написано имя. Внутрь конверта можно положить нечто, например, определенную сумму денег — это ее значение. Как и в случае с конвертом, значение переменной можно изменить. Для объявления переменной и одновременно для присвоения ей значения применяется команда set. Пример записи этой команды показан далее:
Приведенная программа показывает, в чем польза переменных. Во-первых, они позволяют вместо длинного фрагмента (например, пути к компилятору help -файлов) использовать внутри командного файла синонимичный ему короткий. Как минимум, это удобно. Во-вторых, они позволяют избежать повторения в тексте командного файла фрагментов, которые в дальнейшем могут меняться.
Команда if позволяет выделять в командном файле группы команд, которые выполняются или не выполняются в зависимости от определенных условий.
Для чего это нужно? Проверка условия — почти необходимая мера при создании командных файлов, использующих параметры. Перед тем, как начинать работу, командный файл, вообще говоря, должен удостовериться в том, что ему передан корректный набор параметров. В противном случае велик риск, что он выполнится неверно или безрезультатно, а пользователю останется только гадать, в чем же проблема. Более того, если командный файл удаляет, перемещает или перезаписывает какие-либо данные, то при некорректных параметрах он может даже нанести ущерб.
Предложенный способ проверки параметра не самый удачный. Во-первых, если пользователь по ошибке укажет в качестве параметра имя несуществующего файла, командный файл этим удовлетворится и предпримет попытку компиляции. Более правильный способ — проверить, существует ли такой файл в действительности. Для этого в языке команд MS-DOS предусмотрено специальное слово exist. Поэтому лучше было бы написать: if exist %1.hpj goto compile. Во-вторых, активное использование команды goto (т.н. безусловного перехода) и меток сильно запутывают код. Технически они ничем не плохи, но отлаживать и сопровождать командный файл, написанный в таком стиле, довольно неудобно. Поэтому программисты издавна считают безусловный переход приемом нежелательным. Ниже показан более правильный, с точки зрения стиля программирования, структурированный вариант, в котором используется конструкция if…else. Работает она так: если условие истинно, выполняются команды в скобках после if, а если ложно, то в скобках после else.
Приведем еще один пример работы с проверками. Следующий командный файл создает каталог с именем help-files (предположим, для выгрузки в него скомпилированных help -файлов). При этом, если каталог с таким именем уже существует (и в нем, вероятно, находятся старые help -файлы, которые не хотелось бы терять: вдруг новые окажутся хуже?), командный файл присваивает ему расширение bak. Но если каталог help-files.bak уже существовал, то командный файл его удаляет (будем считать, что одной резервной копии нам хватит):
Команда for позволяет организовать выполнение повторяющихся однотипных действий. Можно использовать ее для того, чтобы вывести на экран числа от одного до десяти, как показано ниже:
Переменная i называется счетчиком цикла. В силу своеобразия синтаксиса команды for, имя счетчика цикла должно состоять из одной буквы. Причем, если мы пишем командный файл, то перед именем счетчика цикла надо поставить сдвоенный знак процента, если же мы просто набираем команду в командной строке, то одиночный. Логика работы этой команды такова. После слова in указан диапазон изменения счетчика цикла. В данном варианте команды это тройка чисел: начальное значение счетчика, шаг счета, предельное значение счетчика. При выполнении команды командный процессор сначала присвоит переменной i значение 1, а потом на каждом шаге цикла будет увеличивать его на 1, пока оно не превысит 10. Очевидно, таких шагов получится десять. Если бы в качестве шага счета мы указали число 2, то цикл выполнился бы пять раз. На каждом шаге цикла выполняется тело цикла, написанное после слова do. В приведенном примере это команда echo, которая выводит на экран текущее значение счетчика цикла. Наверно можно придумать ситуацию, когда что-то подобное на самом деле требуется, но обычно команда for используется для перебора и обработки файлов. Надо сказать, что в достаточно простых случаях массовая обработка файлов выполняется с помощью подстановочных символов. Если, мы хотим всем файлам в текущем каталоге заменить расширение .htm на .html, мы вводим команду ren *.htm *.html. Но если то же самое надо сделать не в одном каталоге, а в дереве каталогов, то без команды for не обойтись. Приведенный ниже командный файл выполняет эту операцию для всех htm-файлов в подкаталоге website текущего каталога. Точнее, во всем дереве каталогов, которое находится внутри website:
Ключ /r указывает на необходимость обхода каталога website и всех его внутренностей. Если его не указать (но тогда и каталог указывать не разрешается), то обработаны будут только файлы в текущем каталоге. Диапазоном значений счетчика цикла в данном варианте команды является множество всех файлов с расширением .htm, находящихся внутри каталога (точнее, дерева) website. Странная на первый взгляд запись ~ni означает, что из значения переменной i требуется выделить только имя файла. В языке команд MS-DOS предусмотрено несколько таких модификаторов, например, запись ~хi обозначает расширение файла. Все модификаторы описаны в справке по команде for. Тело цикла может состоять из нескольких команд, заключенных в скобки:
Пакетные файлы в DOS имеют расширение .BAT; для других операционных систем они могут иметь другие расширения — например, .CMD в Windows NT и OS/2 или .BTM в 4DOS (англ.) или подобных оболочках.
Применение
Пакетные файлы полезны для автоматического запуска приложений. Основная область применения — автоматизация наиболее рутинных операций, которые регулярно приходится совершать пользователю компьютера: например, копирование, перемещение, переименование, удаление файлов; работа с папками; архивация; создание резервных копий баз данных и т. п.
Многие вирусы написаны в виде пакетного файла, [источник не указан 56 дней] известны даже генераторы вирусов, [источник не указан 56 дней] являющиеся пакетными файлами.
Ссылки
Wikimedia Foundation . 2010 .
См. также
Содержание
Пример
Пример пакетного файла, вычисляющего выражения:
- Выключение эха (вывода выполняющихся строк на экран).
- Метка, создающая цикличность программы.
- Очистка экрана.
- Изменение заголовка окна Windows на строку «Калькулятор».
- Изменение цвета шрифта и фона (тёмно-синий на светло-сером).
- Вывод строки «Введите уравнение».
- Создание переменной exp для хранения ввода пользователя.
- Вычисление результата выражения и помещение его в переменную result .
- Изменение заголовка окна на «Вычислено».
- Вывод строки «Ваше уравнение» и значения переменной exp .
- Вывод строки «Решение» и значения переменной result .
- Остановка выполнения кода до нажатия любой клавиши.
- Переход на метку begin, выполнение кода начнётся со следующей после метки команды.
Смотреть что такое "Пакетный файл" в других словарях:
Файл (компьютер) — Файл (англ. file папка, скоросшиватель) концепция в вычислительной технике: сущность, позволяющая получить доступ к какому либо ресурсу вычислительной системы и обладающая рядом признаков: фиксированное имя (последовательность символов, число или … Википедия
Файл — У этого термина существуют и другие значения, см. Файл (значения). Файл (англ. file) блок информации на внешнем запоминающем устройстве компьютера, имеющий определённое логическое представление (начиная от простой последовательности… … Википедия
Компьютерный файл — Файл (англ. file папка, скоросшиватель) концепция в вычислительной технике: сущность, позволяющая получить доступ к какому либо ресурсу вычислительной системы и обладающая рядом признаков: фиксированное имя (последовательность символов, число или … Википедия
Командный файл — BAT Расширение файла: .bat, .cmd (только Windows NT) Тип формата: Скриптовый язык программирования Пакетный файл (англ. batch file) текстовый файл в OS/2 или Windows, содержащий последовательность команд, предназначенных для исполнения командным … Википедия
Командный файл — текстовый файл, каждую строку которого операционная система интерпретирует как обращение к той или иной функции ОС. Командные файлы используется для организации пакетной обработки. Синонимы: Пакетный файл См. также: Файлы Обработка данных… … Финансовый словарь
Файлы — Файл (англ. file папка, скоросшиватель) концепция в вычислительной технике: сущность, позволяющая получить доступ к какому либо ресурсу вычислительной системы и обладающая рядом признаков: фиксированное имя (последовательность символов, число или … Википедия
Дальнобойщики 2 (игра) — Эта статья или раздел нуждается в переработке. Пожалуйста, улучшите статью в соответствии с правилами написания статей. У этого термина … Википедия
Пакетные файлы — BAT Расширение файла: .bat, .cmd (только Windows NT) Тип формата: Скриптовый язык программирования Пакетный файл (англ. batch file) текстовый файл в OS/2 или Windows, содержащий последовательность команд, предназначенных для исполнения командным … Википедия
AUTOEXEC.BAT — (от англ. automatic execution автоматическое исполнение и англ. batch пакет, группа) системный пакетный файл (файл, содержащий последовательность команд на языке интерпретатора командной строки поставляемого в… … Википедия
Пакетный файл (англ. batch file ) — текстовый файл в OS/2 или Windows, содержащий последовательность команд, предназначенных для исполнения командным интерпретатором. После запуска пакетного файла, программа — интерпретатор (как правило CMD.EXE) читает его строка за строкой и последовательно исполняет команды. Пакетный файл — аналог shell script в Unix-подобных операционных системах.
Пакетные файлы полезны для автоматического запуска приложений. Основная область применения — автоматизация наиболее рутинных операций, что регулярно приходится совершать пользователю компьютера. Примерами таких операций могут служить — обработка текстовых файлов; копирование, перемещение, переименование, удаление файлов; работа с папками; архивация; создание резервных копий баз данных и т. п. Пакетные файлы поддерживают операторы goto (а в системах семейства Windows NT и расширенный оператор for), что позволяет обрабатывать результаты выполнения предыдущих команд или приложений и в зависимости от этого выполнять дальше тот или иной блок команд (как правило, в случае удачного завершения приложение возвращает 0 в переменной errorlevel; в случае неудачного — 1 или большее значение).
Пакетные файлы в
История
Поддержка пакетных файлов имелась в MS-DOS с самого начала. Командные интерпретаторы этой системы (а затем и Windows) предлагают два режима работы: интерактивный (когда пользователь непосредственно вводит команды в командной строке и немедленно их исполняет) и пакетный (когда пользователь запускает предварительно записанную последовательность команд). Концепция обоих режимов была почерпнута из интерфейсов командной строки предшествующих ОС (таких как CP/M) и Unix-оболочек.
Существуют и другие командные интерпретаторы, разработанные сторонними компаниями и предоставляющие расширенный синтаксис команд для пакетного программирования — например, 4DOS (англ.).
Также, существуют компиляторы пакетных файлов (например, Bat To Exe Converter), преобразующие пакетные файлы в самостоятельные исполнимые программы.
См. также
Полезное
Ссылки
-
WindowsFAQ Подробная справка.
- Виталий Бочкарёв.Сценарии для администрирования (31 августа 2009). Архивировано из первоисточника 27 февраля 2012.Проверено 15 декабря 2009.
- Алексей Александров.Урок bat-аники // RSDN Magazine. — 27 октября 2005. — № 2.
- Билл Стюарт.10 советов по использованию сценариев // Windows IT Pro. — Открытые системы, . — № .
- Форматы файлов
- Microsoft Windows
- Скриптовые языки
Wikimedia Foundation . 2010 .
Содержание
Смотреть что такое "Командный файл" в других словарях:
Командный файл — текстовый файл, каждую строку которого операционная система интерпретирует как обращение к той или иной функции ОС. Командные файлы используется для организации пакетной обработки. Синонимы: Пакетный файл См. также: Файлы Обработка данных… … Финансовый словарь
Командный процессор — Оболочка операционной системы (от англ. shell оболочка) интерпретатор команд операционной системы (ОС), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы. В общем случае, различают оболочки с двумя типами интерфейса для … Википедия
Зараженный командный центр — Зерг (Зерги, Зэрг, Зёрг, англ. Zerg) раса из компьютерной игры тиранидов. из вселенной Warhammer 40k Гидралиск символ кампании зергов также: Зерг это численное преимущество одной из сторон! Содержание 1 История зергов … Википедия
Заражённый командный центр — Зерг (Зерги, Зэрг, Зёрг, англ. Zerg) раса из компьютерной игры тиранидов. из вселенной Warhammer 40k Гидралиск символ кампании зергов также: Зерг это численное преимущество одной из сторон! Содержание 1 История зергов … Википедия
Пакетный файл — BAT Расширение .bat, .cmd (в ОС семейства Windows NT) Тип формата Скриптовый язык программирования Пакетный файл (англ. batch file) текстовый файл в MS DOS, OS/2 или Windows, содержащий последовательность команд, предназначенных для… … Википедия
Работа с GMT под Windows — Связать? … Википедия
REXX — или Rexx (REstructured eXtended eXecutor, произносится «рекс») интерпретируемый язык программирования, разработанный фирмой IBM. Существуют как коммерческие, так и свободно распространяемые реализации данного языка. Пик своего… … Википедия
Правила формирования имен файлов были рассмотрены в 4.2.
Таблица 4.4 содержит стандартные типы расширений имен файлов, часто встречающихся в MS DOS и DOS-совместимых операционных системах.
Расширение | Тип файла |
*.СОМ | Исполняемый файл (компактный файл, размером до 64 Кбайт) |
*.ЕХЕ | Исполняемый файл |
*.ВАТ | Командные (пакетные) файлы, см. 4.3.3 |
*.DAT | Файл с данными |
".HEX | Файл с данными, представляемыми в шестнадцатеричном формате |
*.OVR | Файл с оверлейными (догружаемыми в процессе выполнения) частями программ |
*.DLL | Файл с динамически компонуемыми библиотеками (Dynamic Linked Libraries). Содержит программные модули, общие для различных задач в формате MS Windows, которые ими вызываются в процессе выполнения. |
*.ВАК | Резервная копия файла, сохраняемая перед началом каких-либо операций с ним (от англ, backup) |
*.SYS | Системный файл |
*.ТМР | Временный файл |
*.ТХТ | Текстовый файл |
*.DOC | Файл с документом (допустим в формате текстового процессора MS Word) |
*.BAS | Файл с текстом программы на языке BASIC |
*.PAS | Файл с текстом программы на языке Паскаль (Pascal) |
*.С | Файл с текстом программы на языке С |
*.OBJ | Объектный модуль — скомпилированная программная процедура, переведенная в машинные коды |
*.LIB | Библиотека — объединенная в единый файл специального формата совокупность объектных файлов. |
Файл — это однородная по своему назначению совокупность информации, хранящаяся на диске и имеющая имя или поименованная область на диске, хранящая информацию.
Правила образования имен файлов и объединения файлов в файловые системы зависят от конкретной операционной системы. Изложим эти правила на примере операционной системы MS-DOS.
Имя файла состоит из двух частей: собственно имени и расширения имени (т. е. типа файла).
Собственно имя файла включает в себя не более восьми символов.
В именах файлов запрещается использовать:
· знаки арифметических операций;
· знаки пунктуации (исключая !);
· зарезервированные слова (например, имена устройств con, lpt1, lpt2, команды del, copy);
· любые виды скобок.
В именах файлов не запрещается использование цифр.
При задании имени файла рекомендуется:
· использовать латинский (английский) алфавит (например, plan вместо план);
· первый символ имени должен быть латинской буквой (например, d14 — вместо 14d);
· знак пробела можно заменить подчеркиванием, для разделения имени на составные части (например, pl_mart, d_14).
Расширение имени может состоять не более чем из трех символов, в том числе может отсутствовать. Если расширение есть, то от основного имени оно отделяется точкой, например ris.bmp, mart.txt, doc.doc.
По имени файла можно судить о его назначении, так как для расширений установилось некоторое соглашение, фиксирующее для ОС тип обработки файлов. Расширение com (от command) илиехе (от executable) имеют файлы программ, предназначенных для исполнения по вызову пользователя; doc (от document) — файлы с документами, подготовленные в текстовом редакторе Microsoft Word; bak (от backup) — резервные копии; bas — файлы с текстами программ на языке Бейсик.
Могут ли существовать ниже перечисленные имена файлов. Если нет, попытайтесь объяснить почему.
Информация о файлах может быть представлена в полном и неполном виде. Неполная информация — это только список имен, а полная информация о каждом файле включает в себя имя файла, его размер, дату и время создания.
Список имен файлов, хранящихся на данном диске, находится в каталоге (директории, папке) вместе со сведениями о его типе, размере, времени создания.
Каталог — это файл, хранящий список имен других файлов и каталогов. Каталоги имеют имена, которые подчиняются тем же правилам что и имена файлов, т. к. каталоги являются файлами. Как правило, расширение имени для каталогов не используется. Имя каталогу дают так, чтобы было понятно для чего организован данный каталог. Например:
VERA — это каталог пользователя;
Z_plata — каталог для расчета заработной платы;
TXT — каталог для текстовых файлов.
Если файлы и каталоги — это одно и тоже, их имена подчиняются одним и тем же правилам, как различать их? Дело в том, что при регистрации на диске в MS-DOS файлы записываются маленькими буквами, каталоги большими.
Каталог может содержать любое разумное число имен файлов, он также может содержать другие каталоги, называемые в этой ситуации подкаталогами. Так образуется иерархическая структура, «дерево» каталогов, «корнем» в котором является главный (корневой) каталог, «ветвями» — подкаталоги, «листьями» — имена файлов.
Корневой каталог не имеет имени, он обозначается наклонной чертой \.
Каталоги (директории, папки) более высоко уровня по отношению к каталогам более низкого уровня являются надкаталогам. Рассмотрим каталог VERA, он является надкаталогом к каталогу ТХТ и подкаталогом к каталогу USERS.
Два файла или два подкаталога, находящиеся в двух разных каталогах, могут иметь одинаковые имена. Поэтому для однозначной идентификации файла (каталога) на диске следует указывать путь (маршрут) доступа к нему.
Путь доступа состоит из имени диска и списка имен каталогов, через которые нужно пройти к данному каталогу. Первый каталог в списке является подкаталогом корневого каталога, каждый последующий — подкаталогом предыдущего, последний каталог в этом списке содержит искомый файл. Элементы списка разделяются обратной косой чертой (\).
Полное или составное имя файла состоит из пути доступа к файлу и его имени. Оно однозначно определяет участок на диске с таким именем. Полное имя файла указывается в тех случаях, когда каталог с рабочим файлом не является текущим (пользователь не находится в этом каталоге).
Файлы и каталоги хранятся на диске. Диски тоже имеют имена. Они обозначаются одной латинской буквой с двоеточием - A: или F:. Буквы A и B используются для обозначения гибких дисков, все остальные, начиная с C - для винчестеров и CD ROM. Диски разбиты на сектора и дорожки, в которые записываются файлы с информацией. Операция разбиения диска на сектора и дорожки называется форматированием диска.
На диске выделяется определенная область, в которой размещается специальная таблица, содержащая последовательности номеров блоков (секторов) для каждого файла. Таблица эта постоянно обновляется, а полностью стирается вместе с корневым каталогом при форматировании диска.
Часто файлы разделяют на две категории — текстовые и двоичные. Текстовые файлы предназначены для чтения человеком. Они состоят из строк символов. В текстовых файлах хранятся тексты документов, тексты программ на языках программирования и т. д. Файлы, не являющиеся текстовыми, называются двоичными. Они имеют вид, «понятный» только компьютеру, они часто структурируются таким образом, чтобы их было удобно «читать» некоторой конкретной программе.
Итак, работа в операционной системе происходит через диалог компьютера и пользователя. Диалог основан на командном методе, т. е. пользователь в командной строке набирает команду, нажимает клавишу Enter, операционная система проверяет верно ли записана команда и приступает к ее выполнению.
Приведем формат (правильное оформление) нескольких команд для работы с файлами и каталогами в операционной системе DOS. Договоримся, что информация, указанная в квадратных скобках, может быть опущена, если работа производится в текущем каталоге.
Работа с файлами:
Создание файла с клавиатуры | copy con [путь] имя файла Затем набираем с клавиатуры информацию, по окончанию ввода нужно нажать клавиши CTRL + Z и затем Enter |
Копирование | copy [путь откуда] имя файла [путь куда] |
Переименование | ren [путь] старое имя файла новое имя файла |
Просмотр файла по страницам | type [путь] имя файла | more |
Удаление | delete [путь] имя файла |
Работа с каталогами:
Создание | md [путь] имя каталога |
Удаление | rd [путь] имя каталога |
Просмотр | dir [путь имя каталога] |
Переход в другой каталог (ниже) Переход в другой каталог (выше) | cd [путь] имя каталога cd .. |
Работа с дисками:
Смена текущего диска | имя диска |
Форматирование диска | format имя диска Будьте осторожны, при этом с диска стирается вся информация! |
Запуск программ на исполнение —в командной строке указать имя файла
Разумеется, это не все команды для работы в операционной системе DOS. Есть еще команды:
- для архивации файлов, т. е. создания резервных копий;
- для восстановления, удаленных файлов;
- для поиска файлов по критериям (маскам);
- для редактирования файлов и т. д.
В качестве примера файловых систем мы рассмотрим FAT16, FAT32.
В сфере персональных компьютеров в 1987г. возник кризис. Возможности файловой системы FAT, разработанный фирмой Microsoft за десять лет до этого для интерпретатора Standalone Disk Basic и позднее приспособленной для операционнной системы DOS, были исчерпаны. FAT предназначалась для жестких дисков емкостью не свыше 32 Мбайт, а новые НЖМД (накопители на жестких магнитных дисках) большей емкости оказывались совершенно безполезными для пользователей РС. Некоторые независимые поставщики предлагали собственные способы решения этой проблемы, однако лишь с появлением DOS 4.0 этот кризис был (на некоторое время!) продлен.
Значительные изменения структуры файловой системы в DOS 4.0 позволили операционной системе работать с дисками емкостью до 128 Мбайт; а после внесения незначительных дополнений впоследствии этот предел был поднят до 2 Гбайт. В то время казалось, что такой объем памяти превышает любые мыслимые потребности. Однако если история персональных компьютеров чему-то и научила, то именно тому, что емкость, «превышающая любые мыcлимые потребности», очень быстро становится «почти недостаточной для серьезных работ». Действительно, в настоящее время в продаже имеются жесткие диски емкостью, как правило, 2,5 Гбайт и выше, а когда-то очень высокий и избавивший нас от ограничений потолок в 2 Гбайт превратился в еще одно препятствие, которое предстояло преодолеть.
Для систем Windows 95 фирма Microsoft разработала новое расширение системы FAT-FAT32.
Файловая система FAT предусматривает ряд специальных областей на диске, выделенных для организации пространства диска в процессе его форматирования, - головную запись загрузки, таблицу разбиения диска, запись загрузки, таблицу размещения файлов (от которой система и получила свое название) и корневой каталог. На физическом уровне пространство диска разбивается на области по 512 байт, называемые секторами. В системе FAT место для файлов выделяется блоками , которые состоят из целого числа секторов и именуются кластерам. Число секторов в кластере должно быть кратно степени двойки. В Microsoft эти кластеры называют единицами выделения памяти (allocation unit). Обычно размер кластера можно определить, поделив объем памяти диска на 64 Кбайт (65 536 байт) и округлив результат до ближайшего числа, кратного степени двойки. Так, размер кластеров 1,2-гигабайтного диска составляет 32 Кбайт: если 1,2 Гбайт (1 258 291,2 Кбайт) поделить на 65 536, получим 19,2 Кбайт, а после округления – 32 Кбайт.
Достаточно часто при работе с операционной системой возникает необходимость организации автоматического выполнения целого ряда команд (одной за другой), или, как еще говорят, пакетного выполнения. Средством пакетной обработки является командный (пакетный) файл. Он облегчает работу пользователя за счет автоматизации выполнения часто повторяющейся совокупности команд и освобождает его от необходимости запоминания многих деталей и тонкостей форматов команд.
Командные файлы, работающие в операционной среде MS DOS, имеют расширение *.ВАТ (от английского batch — пачка).
Командный файл с точки зрения внутреннего содержания представляет собой текстовый файл и может быть создан в любом текстовом редакторе. Его текст состоит из последовательности команд управления операционной системой, которые, вообще говоря, могли быть введены пользователем с клавиатуры. Помимо этого в командном файле могут содержаться специальные операторы, накладывающие простейшие логические ограничения на процесс выполнения. Более подробно ознакомиться с синтаксисом языка командных файлов можно в Руководстве пользователя по операционной системе DOS.
При создании командного файла необходимо соблюдать некоторые правила:
• командный файл может состоять из любых команд операционной системы MS DOS, имен файлов запуска и сервисных программных средств;
• каждая команда располагается на отдельной строке (при вводе команд могут использоваться строчные и прописные буквы);
• после ввода каждой команды нужно нажать клавишу Enter;
• имя командного файла уникально в пределах каталога, где он находится.
Запуск командного файла: в командной строке задается только имя файла (без указания типа) и нажимается клавиша ввода — Enter.
Для прерывания работы командного файла могут быть использованы комбинации клавиш Ctrl+C или Ctrl+Break.
Файл AUTOEXEC.BAT играет особую роль в операционной системе MS DOS: являясь по содержанию обычным командным файлом, он автоматически выполняется при каждой загрузке операционной системы1. Его основное назначение состоит в сохранении и оперативной установке значений параметров операционной среды для конкретного пользователя конкретного компьютера.
Среди команд, которые особенно часто используются в составе AUTOEXEC.BAT, могут быть перечислены:
• REM — комментарии; неисполняемая команда, служит для пояснения действий;
• PAUSE — прерывание выполнения командного файла до тех пор, пока не будет нажат любая клавиша;
• CLS — очистка экрана;
• ECHO OFF — подавляет вывод.на экран всех стоящих после нее команд;
• ECHO ON — поддерживает вывод на экран всех стоящих после нее команд;
• . @ — запрет на индикацию одной команды, перед которой стоит этот символ;
• VERIFY ON или OFF — установка (ON)/отключение (OFF) режима контрольного чтения при операциях записи файлов (если данный режим включен, то он позволяет выявлять возможные ошибки, но, естественно, замедляет работу);
• PATH [Путь] — задание последовательности каталогов, в которых будут последовательно искаться исполняемые файлы, если пользователь при запуске не задает их полное имя;
• PROMPT (параметры] — установка формата приглашения в командной строке DOS (по умолчанию используется текущее логическое устройство и символ >, например, С:\>);
• SET = — устанавливает имя и значение так называемой переменной системной среды.
Команды MS-DOS могут быть внутренними и внешними. Внешние - это команды, выполнение которых сопряжено с загрузкой командного файла, находящегося на внешнем носителе (диске). Поэтому при их вводе обязательно надо указать имя диска (если он не текущий) и имя каталога, где находится соответствующий командный файл. Внутренние - это команды, которые выполняются средствами ядра операционной системы, поэтому при их вводе имя диска указывать не надо.
Командные файлы MS-DOS имеют три типа расширений: СОМ, ЕХЕ, ВАТ. При вводе команды расширение имени файла (СОМ, ЕХЕ, ВАТ) можно не указывать. Команды можно вводить как прописными, так и строчными буквами. Для ввода команды следует набрать имя этой команды на клавиатуре и нажать клавишу Enter. При вводе команд можно пользоваться следующими клавишами для редактирования вводимой команды: Del - удаление текущего символа; Backspace - стирание предыдущего символа; Ins - включение-выключение режима вставки; Стрелки влево, вправо - перемещение курсора; Стрелка вверх - выводит в командную строку предыдущую команду; Esc - удаляет весь текст из командной строки. Вы можете прекратить выполнение любой команды MS-DOS, нажав одновременно клавиши Ctrl-C. Команды могут иметь параметры. Необязательные параметры будем указывать в скобках, сами скобки не вводятся.
Чтобы воспользоваться справочной системой по синтаксису команды MS DOS, необходимо набрать HELP команда, например, HELP DIR.
Команды операционной системы MS DOS для работы с каталогами
DIR
Служит для вывода на экран списка файлов и подкаталогов, находящихся в указанном каталоге. Внутренняя команда.
Примеры: DIRD:
(служит для просмотра корневого каталога диска D:); DIR D:\WORK (для просмотра подкаталогов и файлов каталога WORK диска D:).
Если указанный каталог содержит большое количество подкаталогов и файлов, то можно организовать их постраничный вывод с помощью ключа /Р. При этом после показа одной страницы списка DOS будет ожидать нажатия любой клавиши для продолжения вывода следующих страниц.
Пример: DIR C:\WINDOWS /Р
2. MD (MKDIR)
Служит для создания каталогов. Команда внутренняя.
Примеры: MD C:\WORK
(для создания каталога WORK на диске С:); MD BOOKS (для создания каталога BOOKS на текущем диске в текущем каталоге).
3. CD (CHDIR)
Позволяет изменять текущий каталог. Команда внутренняя.
Примеры: CD D:\WORK
(установка подкаталога WORK диска D: в качестве текущего);
(переход из текущего каталога в подчиненный ему каталог PRIM);
(установка в качестве текущего каталога C:\PUBLIC\STUDENT).
Для перехода в родительский каталог используется команда CD. а для перехода в корневой каталог - CD\
Использование в вирусописательстве
Пакетные файлы, как и другие языки программирования, также используются для написания вирусов, хотя как правило приходится применять нетривиальные трюки для обхода ограниченности языков пакетных файлов. Однако задачу написания вирусов облегчает то, что в пакетных файлах доступен весь функционал утилит командной строки, представленных в операционной системе.
История
Программирование пакетных файлов появилось в MS-DOS и Windows с самого зарождения этих операционных систем. Командные интерпретаторы этих систем предлагают два режима работы: интерактивный режим (когда пользователь непосредственно вводит команды в командной строке и немедленно их исполняет) и пакетный режим (когда пользователь запускает предварительно записанную последовательность команд). Концепция обоих режимов была почерпнута из различных Unix—оболочек, равно как и из других текстовых интерфейсов командной строки начала 1980-х годов, таких как CP/M.
Новые версии Windows — Windows 2000, Windows XP и Windows Vista основаны не на MS-DOS, а на Windows NT. NT-подобные системы включают интерпретатор
Существуют различные другие командные интерпретаторы, разработанные не компанией
Также имеются различные компиляторы пакетных файлов, превращающие пакетные файлы в исполняемые программы.
Пример
Пример простого пакетного файла:
Содержание
Пакетные файлы поддерживают операторы if, goto и for (в системах семейства Windows NT его возможности существенно расширены), что позволяет обрабатывать результаты выполнения предыдущих команд или приложений и в зависимости от этого выполнять дальше тот или иной блок команд (как правило, в случае удачного завершения приложение возвращает 0 в переменной errorlevel; в случае неудачного — 1 или большее значение).
Полезное
Читайте также: