CONFIG.SYS и AUTOEXEC.BAT




К файлам конфигурации Windows относятся находящиеся в корневом каталоге Aunoexec.bat, Config.sys и, находящиеся в папке Windows, файлы System.ini и Win.ini. Эти файлы представляют собой обычные текстовые файлы, которые могут быть открыты, отредактированы и воссозданы с помощью любого текстового редактора. Каждая из записанных в них строчек является командой по настройке операционной системы; их изменение, приводит к соответствующему изменению в работе компьютера. Файлы Win.ini и System.ini, появившиеся в операционных системах разрабатываемых Microsoft только с появлением Windows, не требуют вмешательства пользователя. Их изменение происходит автоматически при изменении режимов работы программ и устройств (можно, например, для автоматического запуска какой-либо программы при включении компьютера, открыть файл Win.ini и в разделе [Windows] записать строку “Run=”, с последующим указанием командной строки запускающей эту программу, или “Load=”, для ее запуска в свернутом виде, но проще сделать это, поместив ярлык, данной программы в папку автозагрузки, и откорректировав при желании, тип открываемого программой окна, в его свойствах). Доставшиеся Windows в наследство от MS-DOS, файлы Autoexec.bat и Config.sys, в отличие от них, хотя и корректируются некоторыми программами автоматически, в большинстве случаев требуют ручной настройки (например, команду проверки системных файлов при загрузке компьютера, русифицированный Norton Antivirus помещает в первую строчку файла Autuexec.bat, опережая команду подключения русифицированных экранных шрифтов, в результате чего, выдаваемые им сообщения невозможно разобрать). Просмотр и некоторая правка конфигурационных файлов удобна с помощью пункта “Программа настройки системы” меню “Сервис” программы “Сведенья о системе” (MsInfo). Не менее удобен для этой цели редактор SysEdit находящийся в папке Windows\System. Особенности файла Config.sys Файл Config.sys содержит информацию о подключаемых дополнительных драйверах (основные содержатся в BIOS), служащих посредниками между всевозможными устройствами и обращающимися к ним программами, а так же, может содержать параметры настройки операционной системы, без которых она работает в стандартном режиме, называемом “по умолчанию”. С помощью файла Io.sys, являющегося дополнением BIOS, он обрабатывается входящим в BIOS интерпретатором BASIC, вследствие чего:
  1. Используемые в нем команды отличаются от команд используемых операционной системой
  2. Их исполнение требует запуска входящей в BIOS программы SETUP и возможно только на первоначальной стадии загрузки, а поэтому, изменения вносимые в файл Config.sys вступают в силу только после перезапуска компьютера.
Особенности файла Autoexec.bat Файл Autoexec.bat, может содержать набор команд по настройке системы и команды загрузки некоторых (как правило – резидентных, исполняемых в фоновом режиме) программ и, подобно другим файлам с расширением.bat, представляет собой пакет команд операционной системы предназначенных для автоматического исполнения. Он обрабатывается интерпретатором команд Command.com, доставшимся операционной системе Windows от операционной системы MS-DOS, вследствие чего:
  1. В файле Autoexec.bat (и других файлах с этим расширением), применяются те же команды, что и при вводе из командной строки, хотя некоторые из команд.Bat-файлов, вводить в командную строку нецелесообразно (например, команду Echo off указывающую не выводить исполняемые команды на экран, нецелесообразно выдавать при ручном вводе команд, поскольку они именно с экрана и вводятся, но, тем не менее, ее ввод может иметь смысл перед исполнением.bat-файла ее не содержащего).
  2. Autoexec и другие.bat-файлы являются полноценными программами, отличающимися от других программ лишь тем что, не были предварительно переведены на язык машинного кода с помощью программ-компиляторов и нуждаются в обработке интерпретаторов, входящих в состав операционной системы, вследствие чего, уступают откомпилированным программам в скорости исполнения. И, хотя при загрузке компьютера, файл Autoexec.bat исполняется автоматически, как и любые другие программы, все.bat-файлы могут быть приведены в исполнение в любой момент, по желанию пользователя.
  3. Двойной щелчок мышью приводит любой Bat-файл к исполнению. Открытие Bat-файла для изменения производится либо через контекстное меню, либо отправкой на ярлык какого-нибудь текстового редактора.
CONFIG.SYS Команды. Общий вид команд: КОМАНДА=ЗНАЧЕНИЕ. Для освобождения доступной MS-DOS основной памяти, команды задаются с окончанием HIGH, например, Buffershigh, в этом случае загрузка происходит в верхнюю память, а если таковая недоступна, она происходит как обычно. Добавление к команде ключа /L:n где n – номер блока, позволяет загрузить драйвер точно по указанному адресу, чтобы свободная память представляла собой единый блок (найти подходящие адреса позволяет программа mem с ключами /f и /p – последний для выдачи поэкранного отчета), однако столь тщательная сортировка в подавляющем числе случаев не имеет смысла1. Для временной отмены команды можно снять установленный возле нее флажок в Программе настройки системы, запускаемой из меню “Сервис” программы “Сведенья о системе” (MsInfo), или вставить команду REM перед нежелательной командой, например, “Rem Buffers=15”. Эта же команда применяется для вставки комментариев (отсюда возник термин “заремить” или “закомментировать”), например, “Rem Дальнейшие строчки внесены Windows, не изменяйте их”. Buffers=n,m /x Определяет число буферов обмена (n) каждый из которых требует 512 байт, число считываемых за раз секторов (m от 1 до 8) и расположение (/x отправляет все это в верхнюю память, заменяя приставку HIGH). Благодаря этой команде, при считывании информации с диска, она помещается в зарезервированный в оперативной памяти буфер и при следующем обращении, считывается из него (с огромной экономией времени), если к этому времени не была вытеснена другой информацией. Таким образом, чем больше буферов, тем быстрее работает компьютер (и тем меньше остается свободной оперативной памяти). При считывании секторов более одного, задействуются сразу несколько считывающих головок и, чтение получается упреждающим, так что, для извлечения следующей информации, может не потребоваться новое обращение к диску (с вытекающим из этого выигрышем в скорости). По умолчанию, для Windows98 Buffershigh=20. Значения m и /x, по умолчанию не задаются. При работе с гибких дисков, этот показатель можно уменьшить до четырех (число к которому пришли многие специалисты опытным путем), поскольку большие массивы информации с них не читаются, однако, уменьшение его ниже 12 приводит к замедлению загрузки с дискеты, а ниже 6 – к общему замедлению работы. При создании виртуального кеша, число буферов, без ощутимой потери производительности, можно уменьшить в десяток раз. Files= Определяет максимальное количество одновременно открываемых MS-DOS файлов. По умолчанию оно равно тридцати и обычно не требует вмешательство пользователя. Если же появилось сообщение об исчерпании обработчиков файлов (File handles), заданное число оказалось недостаточным и его требуется изменить. При этом увеличение числа обработчиков, уменьшает количество свободной памяти. Stacks=n,s Формирует объем (пул) из N (от 0 до 64) стеков размером в S (от 0 до 512 байт) для обработки повторных прерываний. По умолчанию Stackshigh=9,256. Увеличение ведет к уменьшению свободного места в памяти, уменьшение – замедляет работу. LastDrive= Определяет максимальную букву для диска (по умолчанию =Z). Ни один логический диск не может иметь букву большую указанной в Lastdrive, в связи с чем, в качестве последней буквы часто задается Z, либо команда Lastdrive вообще не выдается, для установки параметров принятых по умолчанию. Однако, поскольку для каждой буквы отводится по 80 байт для хранения информации о текущем каталоге, при такой запасливости, до двух килобайт доступной MS-DOS оперативной памяти расходуется в пустую2. Break= Проверка нажатия клавиш Ctrl+Break (Ctrl+C) завершающих выполнение программы – универсальная команда предназначенная не только для файлов конфигурации, но и для командной строки. Возможные значения: on, off соответственно включающие и выключающие режим проверки. Заданная без значений приводит к выводу информации о текущем режиме Break. По умолчанию Break=on (режим проверки включен) и его задание в файлах конфигурации вряд ли имеет смысл. Numlock=off Отключает калькуляторную клавиатуру. Shell=Command.com /e: число /p Установка размеров области памяти отведенной для хранения переменной среды (окружения оболочки операционной системы), где число – размер области в байтах, кратный 16 (от 128 до 32768). Применение команды необходимо, если задаваемых по умолчанию 128 байт недостаточно (сообщение “Out of environment space”). В ней же, можно заменить Command.com другим интерпретатором (если таковой имеется), или указать к нему путь, если он перемещен из корневого каталога. Country=страница,код,имя. Определяет символы допустимые в именах файлов и каталогов, порядок символов при сортировке, формат даты, времени и денежной единицы; позволяет MS-DOS работать с неанглоязычными каталогами и файлами. Код России 007, страница 866. Указываемое в команде имя определяет название и местонахождение драйвера обеспечивающего выполнение команды (обычно Country.sys). Для русифицированной версии Windows: Country=007,866,C:\Windows\Country.sys. Device= Установка драйвера (возможно с дополнительными параметрами). Devicehigh= Установка драйвера в верхнюю память (возможно, с параметрами). Install= Применяется в Config.sys для загрузки резидентных программ (расширение.com и.exe), обычно загружаемых через Autoexec.bat. Загужаясь через Config.sys они занимают меньше места, однако их перенастройка и удаление из памяти становится невозможными. Независимо от расположения в файле Confif.sys, команды Install выполняются в последнюю очередь. InstallHigh= Аналогично предыдущей, но устанавливает програмы в верхнюю память. FCBS= Определяет количество блоков управления памятью (от 1 до 225) по умолчанию равное 4. Dos=High,Umb Позволяет, после подключения драйверов верхней памяти, производить загрузку в нее, для освобождения основной памяти, большой объем которой необходим большенству программ MS-DOS. SWITCHES= /F Отключает двухсекундную задержку перед стартом операционной системы (это лучше сделать, откорректировав Msdos.sys). Возможно так же дополнительное значение /N для невозможности обойти загрузку указанных в Config.sys драйверов путем пошаговой загрузки. Остальные параметры данной команды (/K и /E) применяются для имитации клавиатуры, на которой работали неандертальцы. DOS=NoAuto Означает, что драйвера Himem.sys, Ifshlp.sys, DblBuff.sys и программа Setver.exe загружаются, только если их загрузка указана в файле Config.sys. По умолчанию DOS=Auto, что фактически означает: Buffershigh=20 Fileshigh=30 Fcbshigh=4 Lostdrivehigh=Z Stackshigh=9,256 (если соответствующие команды не указаны пользователем с другими параметрами). Плюс загрузка указанных драйверов (указание их загрузки находится в файле Io.sys). Драйвера. В файлах конфигурации может быть подключено множество драйверов, однако, реальный интерес представляют лишь драйвера входящие в состав Windows, а потому, имеющиеся на каждом компьютере. Drvspace.sys и Dblspace.sys Драйвера Drvspace.bin и Dblspace.bin обеспечивают доступ к уплотненным дискам. В зависимости от программы, примененной для уплотнения, требуется соответствующий драйвер. При загрузке компьютера они загружаются из корневого каталого до выполнения команд из файлов Config.sys и Autoexec.bat, когда верхняя память еще не доступна, вследствие чего, могут загрузиться только в обычную память, занимая в ней по 110 килобайт, каждый. Драйвера Drvspace.sys и Dblspace.sys позволяют переместить их в верхнюю память, для чего в Config.sys вводится ссылка на Drvspace.sys или Dblspace.sys (соответственно), начинающейся с команды DEVICEHIGH. Однако, размер верхней памяти тоже не безграничен, поэтому, на компьютерах не имеющих сжатых дисков, Drvspace.bin и Dblspace.bin из корневого каталога лучше удалить. Display.sys Обеспечивает вывод на экран русифицированных шрифтов. Driver.sys Позволяет задавать фиктивные дисководы. RamDrive.sys Создает в оперативной памяти виртуальный диск для ускорения запуска программ (но замедляет процесс загрузки компьютера), принимаемый за очередной жесткий логический диск и символизируемый соответствующей для очередного логического диска буквой. Для его использования требуется скопировать желаемые программы на созданный диск и указать к ним путь командой Path (для большего эффекта, этот путь, в общем наборе путей, лучше сделать первым), что удобно выполнить с помощью Autoexec.bat. Вместе с драйвером обязательно, указывается размер и, возможно, в определенной последовательности, другие параметры создаваемого диска: Ramdrive.sys m n p /e:q Где: m – размер создаваемого диска в килобайтах (не менее 16, хотя в разных версиях эта величина различна). N – размер сектора в байтах имеющий допустимые значения 128; 256; 512 (по умолчанию 512). P – кратное 16 максимальное число элементов (папок или файлов) в его корневом каталоге (от 2 до 512, по умолчанию – 64). /e – параметр с независимой последовательностью (может находиться в любой позиции среди параметров), позволяющий создать диск не в основной, а в расширенной памяти (по умолчанию, создается в основной). Вместо него может применяться параметр /a для отправки диска в отображаемую память, но для этого предварительно следует активировать драйвер XMA2EMS.sys. :q – определяет количество считываемых за раз секторов (от 1 до 8, по умолчанию 8). Большинство параметров принимаемых по умолчанию, устроят любого пользователя. В таком случае, при создании виртуального диска достаточно указать размер и область занимаемой памяти, например: Ramdrive.sys /E 3072 где 3072 – указание создать диск в три мегабайта. Mouse.sys Некоторые драйвера мыши под MS-DOS имеют расширение.sys. Их установка производится в файле Config.sys (точнее, резидентные программы, с расширением.com, не являются драйверами и, выполняя ту же функцию, могут загружаться из Autoexec.bat или командной строки). HiMem.sys Открывает доступ MS-DOS к 64 килобайтам верхней памяти. Именно после его применения приобретают смысл приставка HIGH, команда DOS=High и аналогичные команды в Autoexec.bat. EMM386.exe Вводится после Himem.sys, открывая для MS-DOS еще 83 килобайта. После его установки приобретает смысл команда DOS=Umb (обычно выдаваемая в одной строке с DOS=HIGH). Программа EMM386.exe может иметь множество параметров. Параметр NOEMS, практически всегда обеспечивает наибольшую эффективность ее применения, однако при работе с Windows, параметр RAM бывает предпочтительнее. Дополнительный параметр HIGHSCAN увеличивает доступную память еще на 35 килобайт. С приведенными параметрами, команда запуска, имеет вид: Device=EMM386.exe NOEMS HIGHSCAN IfsHlp.sys Вспомогательный драйвер необходимый для хранения длинных имен. Если DOS=Auto (по умолчанию), загружается автоматически в соответствии с указанием из Io.sys. SetVer Команда загрузки одноименной резидентной программы. Многие программы MS-DOS предназначены для работы лишь в некоторых версиях MS-DOS. Setver.exe перехватывает их запросы о версии DOS и в любом случае сообщает: “О, да это как раз, та самая версия!” – доВЕРСИвые программы развешивают уши, после чего с ними можно делать все что угодно. Для обмана програм, по команде: Setver каталог програма версия где каталог - путь к каталогу содержащему требуемый экземпляр Setver (если этот каталог являеься текущим, его явное указание не требуется), програма - програма, требующая обмана, версия - ожидаемая ей версия DOS в формате 0.00 SetVer.exe записывает данные в свою внутреннюю таблицу, чтобы, при следующей загрузке компьютера, загрузившись, подобно драйверу, командой Device(high)= из файла Config.sys, водить эту программу за нос. Например, после команды "Setver C:\windows\command Dosshel.exe 6.22" и последующей перезагрузке со строкой "Devicehigh=C:\windows\command\setver.exe" в файле Config.sys, программа Dosshel будет считать что, запущена в Dos 6.22. По мере увеличения числа вводимых в заблуждение програм, внутренние таблицы Setver заполняются и, для поддержания работоспособности следующей програмы, требуется либо освободить немного места в данном экземпляре Setver, либо создать пустой Setver в другом каталоге, скопирова его и очистив. Для просмотра содержимого таблиц Setver, программа вызывается с одним-лишь указанием каталога (при этом экранный вывод желательно перенаправить в файл или програму More), а для удаления лишней строки, после названия программы, избавляемой от попечения Setver, указывается параметр /D, например "Setver C:\windows\command Dosshel.exe /D". Ansi.sys Драйвер для представления MS-DOS в цвете. Он позволяет менять режимы работы дисплея, менять цвета, перемещать курсор по дисплею и переопределять клавиши. Может иметь параметр /x разрешающий переопределять все кода клавиш и /L обеспечивающий сохранение установленного режима, даже если какая-либо программа пытается его изменить (что может привести к зависанию компьютера и, если такое произойдет, параметр /L лучше удалить). Среди возможностей предоставляемых этим драйвером, наибольший интерес представляет возможность управления цветом, для чего не экран различными способами выводится символ ← имитирующий нажатие клавиши Escape, после которого задаются режимы общего вида: [s… s,m где s является режимом отображения и может иметь множество значений. Устанавливаются режимы отображения в командных (пакетных) файлах или из командной строки и может изменяться по ходу работы. Но установка самого драйвера осуществляется только через Config.sys.   AUTOEXEC.BAT Файл Autoexec.bat тесно связан с файлом Config.sys и, не смотря на обработку интерпретатором другого языка, в связи с наличием сходств во многих языках программирования, имеет некоторые сходные с ним черты (в том числе аналогичные и, даже, дублирующие команды). В нем так же применяется команда REM и загрузка в верхнюю память, только для последней, вместо окончания High применяется дополнительная команда LH (Load High), как и команда REM, отделяемая от основной команды пробелом. Например: LH mouse.com. Поскольку.bat файлы представляют собой набор команд операционной системы, их называют так же, командными файлами. Составляя Autoexec.bat, стоит учесть, что некоторые нестандартные программы, при установке требуют в памяти большего места, чем займут, установившись. Такие программы следует устанавливать в первую очередь, чтобы потом не оказалось, что они не могут развернуться (соответствующее сообщение будет выведено на экран). Команды. Path Устанавливает каталоги, содержащие исполняемые файлы. В одной строке можно указать несколько каталогов (но не более 127 символов), каждый из которых должен отделятся точкой с запятой. Например: Path C:\Windows; C:\Windows\Command При вводе файла без расширения или с расширением.exe,.com,.bat, они ищутся в текущем каталоге, корневом каталоге и каталогах заданных этой командой, что позволяет запускать программы не указывая путь к ним. При этом поиск начинается с первого указанного каталога и, чем больше каталогов установлено командой Path, тем дольше он происходит. Кроме того, каждая новая команда Path отменяет предыдущую. Pause Приостанавливает исполнение программы до нажатия пользователем какой-нибудь клавиши, с выводом на экран сообщения аналогичного выводимому при исполнении некоторых программ с параметром /p: “Нажмите любую клавишу…”. Используется, например, перед исполнением в командном файле команды по запуску программы; если вместо любой клавиши будет нажато сочетание CTRL+BREAK или CTRL+C, исполнение команды будет предотвращено. CLS Очистка экрана. В основном применяется для удобочитаемости сообщений, выводимых MS-DOS. Echo Эта команда имеет несколько отличных модификаций. Echo off – отключение вывода исполняемых команд на экран, чтобы они не вытесняли предшествующие им сообщения. Echo on – восстановление вывода. Echo – служит для вывода текстовых сообщений или звуковых сигналов, записываемых, по крайней мере, через интервал от самой команды. Например: ECHO LOADING (каждый лишний пробел будет выводиться на экран, смещая сообщение вправо). При этом русскоязычные сообщения должны записываться в коде ASCII (шрифт Terminal) и не могут использоваться, пока командами MODE не будет обеспечен вывод на экран русифицированных шрифтов. А запись звукового сигнала в файл производится нажатием и отпусканием клавиши 7 калькуляторной клавиатуры, при нажатой клавише ALT (для выполнения этой операции подойдет не каждый редактор, и у каждого из подходящих свои особенности; в MS-DOS редакторе Edit, входящем в состав Windows, переход на вставку управляющих кодов осуществляется нажатием CTRL+P). Echo. – (с точкой) вывод пустой строки для удобочитаемости. @ Не выводить данную команду (аналог Echo off, однократного действия). Часто применяется в сочетании с ней, для того чтобы и сама команда ECHO off не выводилась: @Echo off. SET Присваивает значение переменным. Стандартными переменными, устанавливаемыми автоматически, являются: Cmdline – содержит имя последней внешней команды. Winbootdir – устанавливает папку, содержащую ядро Windows, по ней же, ориентируются инсталяторы программ. Windir – аналогичная переменной Winbootdir, но появляется только при загруженом Windows, в режиме MS-DOS она отсутствует. Blaster – устанавливает параметры саундкарты Temp – указывает место хранения временных файлов Comspec – определяет имя и расположение интерпретатора команд для режима MS-DOS (начальная стадия загрузки Windows) Prompt – указывающая параметры командной строки Path – указывающая пути к приложениям Cdrom – указывает синоним (букву) компакт-диска Ramd – указывает синоним виртуального диска А наиболее часто устанавливаемые в ручную: WinPmt – определяет вид командной строки для сеанса MS-DOS, отличный от того, какой она имеет в режиме MS-DOS или режиме Command Prompt Only. TMP – вместе с переменной Temp, указывающая место хранения временных файлов, чтобы программы не задавали об этом вопросов. PkTemp – задает отличный от текущего каталог для временных архивов архиватора PkZip. NC – определяет каталог в котором программа Norton Comander должна искать свои компоненты. Между переменной и присваиваемым ей значением обязательно устанавливается оператор присвоения “=”. Например: Set Temp=C:\Windows\Temp Отмена значений переменной осуществляется либо вводом новых, либо вводом ее без значения. Например: Set Path= При этом, отмена значений, может применяться для удаления лишних переменных с тем, чтобы освободить место в области отведенной для их хранения. Введенная без переменных, команда SET приводит к выводу на экран отчета о переменных уже установленных. Заключение переменной в символы процента, интерпретируется как значение переменной. Например, после создания переменной NC со значением C:\NC\nc.exe, ввод %nc% будет означать запуск Norton Commander из папки C:\NC. Эту возможность можно применить при необходимости создания команды Path большой длины или добавления нового пути, без перезаписи всей команды. Set Path=%Path%; НОВЫЙ ПУТЬ – добавит к существующим путям еще один. Переменная DirCmd позволяет установить параметры команды Dir (просмотр каталога в MS-DOS), автоматически присваиваемые этой команде, наиболее насущными из которых являются = /ogn /p. После установки Set dircmd= /ogn /p при введении команды Dir, содержимое каталога будет сортироваться по именам, начиная с папок, и выводится на экран с паузой после каждого заполнения (добавление /B позволит просматривать каталоги без дополнительных комментариев со стороны операционной системы, а добавление /A приведет к отображению файлов с любыми атрибутами). Prompt Установка вида командной строки. Возможные параметры: $P – отображать путь в командной строке (без него работа проблематична). $N – отображать текущий дисковод. $T – отображать текущее время $V – отображать версию операционной системы $_ – переход на новую строку $S – пробел $H – каждый такой знак удаляет один предыдущий символ (например, сотые долей секунды из показаний времени) $E– символ с кодом 27 (клавиша Escape) $G – символ > $1 – символ < $B – символ | $$ – символ $ Например, Prompt $P$G – стандартное приглашение выглядящее как (например) C:\Windows>. Кроме стандартных параметров начинающийся с символа доллара, команда позволяет ввести в командную строку любой текст, не содержащий специальных символов. Например: prompt Common!$_$P$G красноречиво говорит о том, что это строка приглашения. Результат ее исполнения выглядит так: Common! C:\> Подключение через Config.sys драйвера Ansi.sys позволяет с помощью этой команды менять цвета. Ver Вывод на экран версии операционной системы. В отличии от Prompt $v, имеет однократное действие. More Команда вывода на экран с паузами после каждого заполнения. Для продолжения вывода требуется нажатие любой клавиши. Например: More C:\Autoexec.bat – постраничный вывод на экран содержимого файла Autoexec.bat Содержащегося в корневом каталоге диска С. Dir | more – постраничный вывод содержимого текущего каталога (аналогично Dir/p) Эта команда внешняя, требующая указания пути к программе More.exe, если путь к каталогу ее содержащему не отмечен в команде Path. Обычно данная программа содержится в каталоге C:\Windows\Command, а он в свою очередь, указывается в Path по умолчанию, так что пользователь может выдавать ее, не задумываясь, о путях. В противном случае, она принимает вид: C:\Windows\Command\More C:\Autoexec.bat Attrib –r –h –s –a Внешняя команда установки и снятия атрибутов. Где указание атрибута со знаком отрицания, приводит к его удалению, а без отрицания – к установке. Если атрибут не указан, он остается без изменений. При этом: R – Только для чтения A – Архивный (не имеющий копии в архиве) H – Скрытый S – Системный Дополнительный параметр /S – может устанавливаться для обработки так же и файлов содержащихся во вложенных каталогах, например: ATTRIB –r C:\*.* /S Call Вызов командного файла из другого командного файла для выполнения записанных в нем команд. Например, Call SetRamd.bat. Если вызвать командный файл иным способом (без Call), управление перейдет к нему и дальнейшее выполнение команд вызвавшего его файла прекратится. For Выполнение команды для указанного подмножества файлов. For %%x in (1.txt 2.txt) do del %%x Где x – любая буква, назначаемая временной переменной для хранения имен файлов назначеного подмножества. Означает: Для указанных файлов (1.txt и 2.txt) сделать Del (удалить) Или: For %%x in (Config.sys Autoexec.bat) do copy %%x C:%%x Скопировать указанные файлы на диск C: Или: For %%x in (*.Zip) do PkUnZip %%x Распаковать все ZIP-архивы текущего каталога программой PkUnZip. Данные примеры приведены для аналогии. Реальное удаление или распаковку проще выполнять без всяких FOR. Однако, в случае програм не умеющих работать со списками или шаблонами, оператор FOR окажется безценным. Например: For %%n in (*.exe *.com) do PkLite -o -b %%n Сожмет все програмы текущего каталога, зарезервировав их в Bak-файлах и перезаписав оригиналы. Или: For %%n in (*.*) do expand %%n C:\Prog Распакует текущий дестрибутив в каталог C:\Prog. При выдаче FOR из командной строки, вместо %% применяется % (второй % в командные файлы добавляется для избежания неоднозначности при наличии дополнительных параметров их вызова). Command Временный вызов интерпретатора команд MS-DOS (командного процессора) из командной строки Windows или программы-оболочки. Выдача этой команды с параметром /E позволяет изменить величину памяти отведенную для хранения переменных, что может потребоваться при появлении сообщения: “Out of Environment Spase” (Нет памяти в окружении). Exit Выход из командного процессора с возвращением в вызвавшую его программу (если он был временно вызван). Эта команда не может применяться в командных файлах, если они выполняются первичным интерпретатором, а не вызванным поверх него вторичным например, второй копией Command.com, Command.com вызванным из Windows (сеанс MS-DOS) или чем-то еще в том же духе. Goto Команда безусловного перехода (Go to – идем к) к указанному, через один интервал, блоку. Например: GOTO END. При этом блоки начинаются с метки, обозначаемой двоеточием, а символы следующие через пробел после названия блока, игнорируются, и могут использоваться для комментариев. В частности, заглавие блока END может иметь вид: :END Этот блок содержит общие программы. После получения команды перехода, процессор начинает исполнять команды следующие за указанной меткой, минуя все предшествующие команды. Применение команды перехода в командной строке невозможно. If Команда проверки условия (команда “если”) за которой следует команда, выполняемая в случае его соблюдения. При этом условия бывают четырех типов: Exist – существует Строка1==Строка2 ERRORLEVEL – код завершения предшествующей условию программы NOT – не (условие ложно) Например, команда “Если на диске С существует Autoexec.bat, сообщить, что он существует”, имеет вид: if exist C:\Autoexec.bat echo Существует А команда “Если нет файлов.bak в каталоге С:, идем к метке “NO_BAK”, а если есть – удалить эти файлы” имеет вид: If Not Exist C:\*.Bak GoTo No_Bak If Exist C:\*.Bak Del C:\*.Bak Или проще: If Not Exist C:\*.Bak GoTo No_Bak Del C:\*.Bak Применение условий: Exist – для выполнения операции только при наличии некоторых файлов Строка1==Строка2 – для выполнения операции только в случае если некому параметру, включаемому в первую строку, присвоено значение указанное пользователем (без пробелов) во второй. При этом, в качестве параметров первой строки (иногда второй), часто применяются символы от %0 до %9 при исполнении принимающие значение имени и параметров командного файла. %0 принимает значение пути и имени файла с расширением %1 принимает значение первого параметра %2 второго и т. д. Тогда команда выполняется, если оно аналогично значению второй строки, благодаря чему, можно, несколько командных файлов объединить в один, разделенный на блоки (до 9), исполняемые в зависимости от параметра, заданного при вызове этого файла. Например, ввод команды “Choice.bat Y” приведет в исполнение команду (допустим, по запуску соответствующего блока), файла Choise.bat следующую за условием IF %1==Y. Однако, для избежания ошибок могущих возникнуть в случае, когда файл вызывается с количеством параметров меньшим предусмотренного, замену строки на символ %, лучше производить с вводом дефиса (иначе часть строк1 будут иметь значение пустой строки): IF -%1==-СТРОКА21 Еще лучше, если обе строки берутся в кавычки: if “%1==СТРОКА2” или If “%1”== “СТРОКА2” в таком случае, даже пустая строка, заключенная в кавычки может иметь значение. Так же, в качестве строки может применяться переменная заключенная с обеих сторон в проценты (что означает ее фактическое значение, о чем говорилось в описании команды Set). Errorlevel – для выполнения операции, только если выполнение предыдущей программы закончилось с результатом (называемом кодом завершения или возврата), равным или превосходящим тот, что определен в условии Errorlevel (поскольку команда срабатывает при равных или больших кодах возврата, последовательность из нескольких подобных команд должна начинаться с тех, что имеют наибольшее значение). Например: If errorlevel=5 goto end If errorlevel=4 copy 1.txt C: Для применения условий содержащих ссылку на коды возврата, необходимо знание этих кодов. По умолчанию, переменная Errorlevel=0 (то есть, ее нет). Not– для выполнения команды, только если условие Exist, строки или Errorlevel не соблюдается (например, для перехода к следующему блоку, чтобы миновать команды обработки файлов, если таковых не существует). Choice Внешняя команда выбора, предназначенная для генерации кодов возврата. При исполнении, она выдает некоторое сообщение и предлагает несколько вариантов ответа, нужный из которых вводится нажатием соответствующей клавиши. Формат команды: CHOICE /C… ПАРАМЕТРЫ“СООБЩЕНИЕ” Где СООБЩЕНИЕ – сообщение, которое программа должна вывести на экран … – варианты ответов. ПАРАМЕТРЫ– дополнительные параметры, среди которых: /tN,nn –автоматический выбор варианта N после nn секунд ожидания. /N – исполнение Choice без вывода, каких либо вопросов и сообщений (имеет смысл при сочетании с предварительным сообщением выведенным иным способом). После исполнения программы, Errorlevel приобретает значение равное соответствующему порядковому номеру выбранного символа. Например, ввод Choice без параметров аналогичен “Choice /CYN”, где выбор Y дает код возврата 1, а выбор N дает код возврата 2. Break Команда проверки нажатия Ctrl+Break (или Ctrl+C) может вводиться не только в Config.sys, но и в командной строке или командном файле. Варианты: Break on или Break off. Просто Break приводит к выводу на экран текущего состояния режима проверки. Многие программы во время работы устанавливают режим BREAK ON самостоятельно, даже если он отключен пользователем. Shift Сдвиг параметров, заданных при вызове командного файла, на значение следующего по старшинству параметра. Например, если файл 1.Bat вызван командной строкой 1.bat aa bb, то изначально, %0==1.bat, %1==aa, %2==bb, а после команды Shift, %0==aa, %1==bb, а %2 утрачивает значение. Сдвиг происходит при каждом исполнении команды и применяется для расширения возможностей команды IF строка1==строка2, позволяя задавать вызываемому файлу, бесконечное число параметров (после первого сдвига, %9 принимает значение десятого параметра). Многократный сдвиг до тех пор, пока не будет найден нужный параметр, осуществляется комбинацией команд: If -%1==- GoTo No_Param If -%1==-Требуемый_параметр GoTo Stop :Cicle Сдвиг параметров, вслучае, когда условие не верно. Shift If -%1==-Требуемый_параметр GoTo Stop echo Не тот параметр. Для остановки цикла и прекращения поиска, требуется нажатие CTRL+C Pause GoTo Cicle :No_Param echo Параметры не указаны. Будут выполнены команды, предусмотренные на этот случай. GoTo End :Stop Далее пойдут команды выполняемые, если параметр совпал. … :End Sort Сортировка данных в алфавитном порядке (или в обратном, с параметром /R) Команды переадресовки КОМАНДА > ФАЙЛ вывод команды в указанный файл, с заменой существующего или созданием нового. Может использоватся для создания файла, подлежащего дальнейшей обработке, что актуально для программ-оболочек имеющих средства редактирования файлов, но не имеющих средства их создания. КОМАНДА >> ФАЙЛ вывод сообщения в конец файла, с сохранением ранее записанной информации. КОМАНДА < ФАЙЛ чтение данных для обработки не с клавиатуры, а из указанного файла. КОМАНДА | КОМАНДА использование сообщений выводимых первой командой в качестве вводных данных для второй. Например: Sort < файл 1 > файл 2 – сортировка данных из указанного файла с записью результатов в другой файл. Echo Y | Win – запуск Windows из режима MS-DOS без запроса на подтверждение (заранее отвечено “Yes”). Dir /OGN > C:\1.txt – отсортировывает оглавление указанной в команде DIR папки (здесь – текущей папки) и записывает его в файл 1.txt на диске С, создавая его, если он еще не существует. CON Экран и клавиатура. Применяется в сочетании с командой MODE или для перенаправления ввода и вывода. Например: COPY файл CON – заменяет команду TYPE, выводя содержимое указанного файла на экран. Может иметь несущественные параметры. NUL Пустота. Имеет разнообразное применение. Например: Copy A:\*.* nul – проверяет читаемость диска А. > nul – переадресовывает сообщение пустому устройству, а заданное после какой-то команды, дает ей понять, что ее сообщения никому не нужны (работай молча). Echo Y | Win > nul – запускает Windows из режима MS-DOS не только без необходимости ввода подтверждения, но и без вывода сообщений о начале загрузки Windows. Подобные переадресовки, наряду с командами @ и Echo off позволяют не засорять экран. Например: @ Mouse.com > nul – устанавливает драйвер мыши под MS-DOS без вывода на экран команды установки и итогового сообщения о том что, драйвер мыши установлен (в тихую). Ctty Меняет устройства используемые для ввода-вывода. Например: Ctty nul– указывает, что ввод команд будет осуществляться из ниоткуда (на ввод не реагировать). Включение в командный файл этой команды приводит к невозможности прервать выполнение командного файла, однако, вслед за командами, прерывание которых требуется предотвратить (если это не способ подшутить над приятелем), необходимо включение в командный файл команды CTTY CON, иначе работа с компьютером будет невозможной. Subst Сопоставление пути к какому-либо файлу с фиктивным диском. Например, после ввода: SUBST H: C:\Windows\Command\EBD запуск программы Edit.exe находящейся в каталоге C:\Windows\Command\EBD можно осуществить выдачей команды “H:\Edit”. При этом буква пути не должна соответствовать реальному диску и не должна превышать буквы установленной командой LastDrive файла Config.sys. Кроме того, некоторые команды и пр<


Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-09-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: