Пакетные или batch файлы это обычные текстовые файлы, содержащие наборы команд интерпритатора и имеющие расширение bat или cmd (cmd работают только в ОС семейства NT). Редактировать такие файлы можно при помощи блокнота или любого другого текстового редактора.
В этом FAQ собраны рекомендации, которые были протестированы на Windows 2000. Некоторые команды и переменные, использованные при написании примеров, отсутствуют в 9х.
Как создать batch файл?
Откройте блокнот и наберите две следующих строки:
@echo This batch file
@pause
Выберите Файл — Сохранить как, выберите Тип файла — Все файлы, в поле Имя файла введите 1.bat и сохраните его в корне диска С, например. Теперь откройте диск С и запустите файл 1.bat. На экран будет выведено две строки.
This batch file
Нажмите любую клавишу для продолжения…
После нажатия любой клавиши окно закроется, т.к. bat-файл выполнен.
Обратите внимание, что символ собаки перед каждой командой в bat-файле указывает на то, что саму команду выводить на экран не надо, а нужно вывести только результат ее работы. Чтобы поэкспериментировать удалите символ собаки из начала каждой строки, сохраните и запустите полученный bat файл.
Команды, используемые в bat файлах
Список команд, которые можно использовать в bat файлах, можно просмотреть, введя в командной строке (Пуск — Выполнить — cmd для Windows семейтва NT или Пуск — Выполнить — command для линейки 9х) команду
help
Результат работы help — список доступных команд с краткими пояснениями к ним. Чтобы получить более подробную информацию по интересующей команде введите в командной строке help имя_команды. Например, чтобы получить подробную справку по ключам команды AT выполните следующую команду:
help AT
В результате, на экран будет выведен список ключей для запуска команды AT из bat файла.
Если bat файл исполняется под управлением Windows (не в чистом DOS-е), то из него можно запускать любые приложения или открывать файлы. Например, нужно автоматически открыть лог-файл работы bat файла по завершении его работы. Для этого достаточно включить в bat файл последней строкой следующую команду:
start имя_файла.txt
Результатом выполнения
этой команды станет открытие файла имя_файла.txt, а сам bat файл завершит свою работу. Такой способ хорош, если лог-файл небольшого размера, иначе Блокнот откажется его открывать, предложив использовать WordPad. Но эта проблема так же решаема, что и будет показано в дальнейших примерах.
Как автоматизировать запуск bat файлов
Очень часто необходимо автоматизировать запуск bat файлов для выполнения ими рутинных операций. Для запуска bat файлов по расписанию наиболее подходит Планировщик, входящий в стандартную поставку Windows. С это помощью можно очень гибко настроить запуск пакетного файла в определенные дни или часы, с определенным интервалом. Можно создать несколько расписаний и т.д.
Для локального запуска batch файлов можно пользоваться решениями от третьих фирм, благо платных и бесплатных альтернатив стандартному Планировщику великое множество.
Batch файлы так же могут использоваться как логин-скрипты в доменах. При таком их использовании они будут исполняться при каждом входе пользователя в сеть не смотря на его желание. С их помощью можно автоматизировать сбор информации о машинах или о программном обеспечении, установленном на компьютерах пользователей, принудительно менять настройки Windows, устанавливать незаметно для пользователя программное обеспечение и автоматизировать решение других задач, ручное исполнение которых заняло бы очень много времени.
Как создать файл с произвольным именем из bat файла
Для создания файла в процессе выполнения пакетного файла используется символ перенаправления. Он выглядит так:
>
Т.е. чтобы создать файл нужно перенаправить поток с экрана в файл. Сделать это можно при помощи следующей команды:
@echo Start file>C:1.txt
После выполнения этой команды в корне диска С будет создан текстовый файл со строкой Start file.
При создании файла в его имени можно использовать системные переменные или их части. Например, можно создать файл-отчет о работе bat файла с именем, равным дате запуска bat файла. Для этого можно использовать следующие строки в bat файле.
set datetemp=%date:~-10%
@echo .>%SYSTEMDRIVE%%DATETEMP%.txt
Эти две строки работают следующим образом. Сначала в памяти создаем переменную datetemp, которой присваиваем 10 символов справа налево от системной переменной DATE. Таким образом, теперь во временной переменной datetemp содержится только текущая дата. Следующией строкой перенаправляем вывод символа точка в файл, имя которого берем из переменной datetemp, а расширение txt указываем явно. Файл будет создан на системном диске компьютера, где выполняется bat файл.
При сборе администратором информации о компьютерах в сети будет удобнее добавить к имени файла имя компьютера. Это легко можно сделать при помощи следующей команды:
@echo .>C:FolderName%COMPUTERNAME%.txt
Эта команда в ходе выполнения пакетного файла создаст на диске С текстовый файл с именем того компьютера, на котором выполняется пакетный файл.
Для создания файла с определенным именем можно использовать любые системные переменные, либо создать свои, на основе системных переменных и/или других данных.
Как создать папку из bat файла
Для создания папки используется команда MKDIR или ее сокращенный аналог MD. Для создания папки из bat файла нужно использовать следующую команду:
MD FolderName
После выполнения такой команды будет создана папка FolderName в папке, откуда запущен bat файл. Чтобы создать файл в отличном от запуска bat файла месте, например в корне диска D, используйте явное указание расположения новой папки. Команда будет выглядеть так:
MD D:FolderName
При создании папок можно пользоваться системными переменными. Например, можно создать в корне диска D папку с именем текущего пользователя. Для этого понадобится переменная %USERNAME%, а команда будет выглядеть следующим образом:
MD D:%USERNAME%
Можно еще более усложнить команду и создать папку с именем текущего пользователя на системном диске его компьютера. Команда для этого будет выглядеть так:
MD %SYSTEMDRIVE%%USERNAME%
При создании папок или файлов можно использовать любые системные переменные или их части. Следующий пример демонстрирует создание на системном диске компьютера пользователя папки с именем равным текущей дате.
set datetemp=%date:~-10%
MD %SYSTEMDRIVE%%datetemp%
Эта конструкция работает следующим образом.
Первая команда создает в памяти переменную datetemp, которая будет уничтожена по окончании работы bat файла. То тех пор, пока bat файл не закончил свою работу есть возможность оперировать со значением этой переменной. Переменной datetemp присваивается 10 символов справа налево от системной переменной DATE, т.е. от текущей даты. Переменная DATE имеет формат Дн ДД.ММ.ГГГГ. Первые символы слева — имя дня недели и поэтому мы их отбрасываем и присваиваем временной переменной datetemp только текущую дату.
Этим не ограничивается список возможностей при создании папок. Вы можете опрерировать переменными так, как удобно Вам, создавая папки с уникальными, легко читаемыми
ДОС… Черной пеленой экран заполнил чистый ДОС.
Мышь… Стала вдруг квадратной, потеряла форму мышь.
Я разбил окно… «Виндовс»… Ненавистное, проклятое окно.
Я поставил ДОС и тогда увидел — это счастье, вот оно!
Песня неизвестного автора эпохи Windows
Современные операционные системы требуют всё больше и больше ресурсов: оперативной памяти, дискового пространства, быстродействия центрального процессора… Старые компьютеры приходится попросту выбрасывать, и даже блоки с процессорами Pentium или Pentium II с мониторами 14-15” сегодня практически ничего не стоят. Особенно жалко расставаться с ноутбуками на процессорах i386 и i486, которые ничем не хуже современных КПК, однако вряд ли удастся добавить им памяти, чтобы запустить более или менее современную операционную систему семейства Windows.
А так ли уж нужны все эти сногсшибательные вычислительные мощности обычному пользователю, который, по сути, хочет лишь выходить в Интернет, отправлять электронную почту, редактировать тексты, слушать музыку и играть в несложные компьютерные игры время от времени? И стоит ли переходить на новые технологии, где быстродействие и надежность компьютера во многом зависят от мощности блока питания и от эффективности системы охлаждения, а разница между старыми и новыми версиями программ зачастую понятна только специалистам?
Дисковая Операционная Система (DOS)
Вопрос: Сколько сотрудников Microsoft нужно для смены перегоревшей лампы?
Ответ: Ни одного, так как Microsoft в таких случаях стандартизирует темноту!
Анекдот
Совсем недавно, как это порой кажется, то есть буквально каких-нибудь 10-15 лет назад на персональных компьютерах у большинства пользователей стояла операционная система MS-DOS. Эта система была довольно простой и вполне подходящей для многих целей, а для некоторых приложений и вообще оптимальной! Кстати, многие специализированные программы от перехода к новым операционным системам и возросшим мощностям ничего принципиально не выиграли, а, напротив, потеряли в удобстве интерфейса (который пришлось стандартизировать) и в простоте освоения.
Главное достоинство DOS (впрочем, как и главный недостаток) — тесное взаимодействие с аппаратурой. Операционные системы семейства Windows, как и различные вариации UNIX-подобных систем, все-таки отгораживаются от аппаратуры целым рядом стандартизованных интерфейсов высокого уровня и возвышаясь над железом, часто осложняют работу с ним, что неудобно, в частности, разработчикам какой-либо нестандартной аппаратуры. DOS же побуждает на взаимодействие с аппаратными средствами напрямую. Например, легкий доступ к железу позволяет работать с дисками на физическом уровне, а значит, можно организовывать копирование разделов независимо от типов их логического форматирования. Однако здесь же таятся и различные подводные камни, которые приводят к коллизиям при работе в этой операционной системе при небрежном программировании. В общем, система DOS требовала от программистов а
ккуратности, и в этом случае программы работали с максимальной эффективностью. Для DOS были написаны сотни тысяч программ, и аналогов некоторых из них в других ОС нет и, возможно, никогда уже не будет. К тому же требования к аппаратуре для запуска DOS были минимальными.
Однако в середине 90-х Билл Гейтс заявил: «DOS is dead». И действительно, уже после выхода MS Windows 95 и первых версий Linux стало очевидно, что дни DOS как массовой операционной системы сочтены. И хотя теоретически DOS еще долго будет находить применение в дешевых решениях при создании электронных микропроцессорных систем (некоторые варианты DR-DOS и PTS-DOS имеют ROM-версии, а также есть специальные ROM-версии таких систем, как Datalight ROM-DOS и General Software DOS-ROM для технических приложений), эти сферы применения очень узки и вряд ли могут поддержать существование подобных операционных систем в будущем.
Клавиши для редактирования команд в DOS
С началом XXI века последние коммерческие версии DOS прекратили свое существование. Последняя версия IBM PC-DOS датирована 2000 годом (она продавалась по 60 долл.), и тогда же вышла последняя полная версия PTS-DOS (это отечественная разработка фирмы «Физтех-софт»). В версии же PTS-DOS, выпущенной в 2002 году, появилась поддержка FAT32 и работы с большими объемами памяти, но исчезли некоторые полезные утилиты, не приспособленные к упомянутой поддержке. Последняя версия DR-DOS 8.0 (с поддержкой FAT32 и длинных имен файлов) датируется 2004 годом (она продавалась по 40 долл.). Кстати, теперь эта система называется Caldera OpenDOS, распространяется бесплатно в рамках проекта Open Source (то есть доступны исходные тексты этой системы), а скачать ее можно по адресу:
http://www.opendos.de/download/.
Наконец, продолжает свое существование бесплатная версия FreeDOS, тоже с открытыми исходниками, но это уже, скорее, общественный проект энтузиастов, разбросанных по всему миру. Последняя версия этой ОС появилась в 2003 году, но поскольку различные части FreeDOS разрабатываются независимо, то она до сих пор больше напоминает Linux, чем DOS в классическом виде (в частности, полная инсталляция этой системы — такая же непростая операция). Впрочем, ни одна из альтернативных систем не имеет 100% совместимости с MS-DOS, а больше всего проблем с совместимостью у FreeDOS. Получается, что лучшей DOS по-прежнему остается «мертвая» MS-DOS. Официально последней версией MS-DOS была версия 6.22 от 1994 года, но MS-DOS версий 7.x существовали вместе с Windows 95/98/Me — их можно было отделять от оболочки Windows и использовать отдельно.
Однако с каждым годом обостряется проблема драйверной поддержки новых аппаратных средств — речь идет в первую очередь о USB-устройствах, приводах DVD-R/RW и т.д. Аналогичная проблема существует и для сетевых протоколов, и для новых форматов данных.
Освобожденный DOS
Хрюкнул жесткий диск, и железо тихо зашуршало под столом.
Загрузилось сразу. Эй, давай-ка мы посмотрим, что почем!
Выходи под ДОС и лучше поработай головой!
Посмотри же сам: ведь ДОС не сказка, это правда, он с тобой!
Песня неизвестного автора эпохи Windows
FreeDOS (
http://www.freedos.org/) — довольно современная бесплатная и совместимая с MS-DOS операционная система, поддерживаемая энтузиастами по всему миру. Сегодня FreeDOS, по сути, остается единственной альтернативой для т
В нашей стране старинные компьютеры (286, 386, 486…) несмотря на свой почтенный возраст, продолжают «трудиться» во многих школах, техникумах и некоторых ВУЗах. Такова наша реальность, и с ней приходится мириться.Впрочем, ничего плохого в этом автор не находит, поскольку считает, что для обучения старые компьютеры больше подходят по причине ограниченности ресурсов, что побуждает учеников уделять больше внимания эффективности, экономности и рациональности использования памяти и быстродействия, развивает в учениках находчивость и изворотливость…
Однако та же изворотливость в сочетании с неистребимым желанием нахулиганить здорово вредит компьютерным классам. На 386 машину Windows NT не поставишь, а только она обеспечивает необходимую вандало- и дурако-устойчивость системы.
Системы же MS-DOS, Windows 3.1 а также и Windows 95/98/Me абсолютно незащищены. То есть можно легко удалить любые файлы, и вообще всю систему, «посадить» вируса, шпиона, отформатировать диск… что многие не прочь сделать. Если учитель информатики (админ 🙂 не подошел к ученику и громовым голосом не отчитал его в этот момент, действия юного «хакера» останутся безнаказанными.
Итак, мы выделяем следующие меры по обеспечению информационной безопасности:
- Парольная защита при загрузке компьютера для ограничения круга лиц, имеющих доступ к PC
- Предотвращение удаления или порчи (случайно или со злым умыслом) нужной информации
- Сокрытие некоторой информации на диске от учеников, работающих за компьютером
- Антивирусная защита (как профилактика, так и своевременное обнаружение вирусов)
- Мониторинг (слежение) за действиями учеников программными средствами PC
- Шифрование особо ценной информации (хотя на уровне школы или даже ВУЗа в этом нет особой нужды)
Разберем же эти меры более подробно:
1. В файл AUTOEXEC.BAT вставляется команда запуска программы, требующей ввода нужного пароля. Иным способом выйти из программы, а значит, продолжить загрузку, невозможно. Естественно, при этом надо запретить загрузку PC с дискеты в BIOSe (а заодно и поставить пароль при входе в BIOS) и запретить возможность отмены исполнения файлов AUTOEXEC.BAT и CONFIG.SYS нажатием клавиш F5 или F8 при загрузке (для этого в файле MSDOS.SYS вставьте стpочку BootKeys=0 в pаздел [Options]). Автор рекомендует использовать для паpольной защиты его программу PASS. К ней приложена подробная инструкция.
2. Защита системы от случайной или умышленной порчи (но не сглаза 🙂 производится с помощью создания логического раздела (разделов) на жестком диске и защиты их от записи. То есть можно только пользоваться информацией на них, а удалить/испортить ничего нельзя!
Автор нашел такую программу под названием PU_DISK. Она позволяет блокировать выбранные диски (в том числе дисководы!) от записи, либо вообще от доступа к ним! При быстром нажатии определенной клавиши заданное число раз на экран выводится окошко, в котоpом можно изменить параметры защите. И это при размере менее 3 Кб! Работает под MS-DOS, но может закрывать блокировать доступ к дискам и под Windows 95/98.
Более гибкая система защиты файлов от порчи предоставлена в операционной системе DR-DOS. Это программа PASSWORD, она может запретить чтение/запись/удаление, либо только запись/удаление ЛЮБЫХ ВЫБРАННЫХ файлов, либо запретить ДОСТУП к выбранным КАТАЛОГАМ (без знания пароля). Но при этом надо установить на компьютер DR-DOS вместо MS-DOS, что потребует некоторых усилий. Зато вы можете защитить системные файлы, файлы конфигурации и все нужные программы (в том числе Windows 3.1) и документы на диске!
3. Более простой способ. Вы можете не защищать программы на рабочем диске (а можете и защищать, как хотите!), но создать дополнительный логический диск и поместить на него резервные копии всего ценного, что есть на этой машине, а затем спрятать этот диск от чужих глаз.
Можно, конечно, просто присвоить файлу атт
We have got an old DOS program that still hasn’t been fully ported from Borland Pascal to Delphi. Since Windows 7 64 Bit does no longer run DOS programs, we now run this program in DOSBox. One of the main functions of this programs is printing some curves on a dot matrix printer on fan-fold paper (Just learned a new word, thanks
dict.leo.org.) Getting printing to work takes some configuration.
First, you need
DOSBox Megabuild 6 since apparently printing is not fully implemented in the official version.
Then you must decide how you want to print:
- Print to a printer attached to your computer (this includes a pdf printer provided by e.g. PDFCreator)
- Print to png (or even bmp) files
- Print to a file that contains the data sent to the printer
- Print directly to a dot matrix printer
Whatever you want to do, you need to modify the .conf file (or start DOSBox with the -conf parameter pointing to a modified .conf file).
The .conf file is in INI format, so editing it can be done with any text editor. The installer also creates a menu item in the DOSBox start menu folder, subfolder config called “Edit Configuration” which you can use to edit the configuration with notepad.
Printing to a local printer
If you want to print to a local printer, do the following:
[parallel]
parallel1=printer
[printer]
printoutput=printer
multipage=false
You might want to adjust the other configuration options in the [printer] section, in particular multipage must be set to true, if you want to print to a PDF file and don’t want to create a new PDF for each page.
If you print from a DOS program within DOSBox, you will get the Windows printer select dialog. This won’t happen immediately but after a while (when enough data has been printed) or only after exiting the program or even DOSBox. There is a shortcut for “Eject Page” which is mapped to F2 by default. It might also help to get this dialog (I haven’t tried that because it probably has some side effects.)
Printing to a png/bmp file
If instead you want to print to a png or bmp file, one per page, you change the entries under [printer] like this:
[printer]
printoutput=png
docpath=c:somedirectory
Don’t forget to set the docpath to some suitable location otherwise you will hunt for the files all the time.
Other possible values for printoutput are bmp for generating bitmap files and ps for generating PostScript output. I haven’t tested them.
Printing to a file that contains the data sent to the printer
To write the data that is sent to a printer to a file, configure DOSBox like this:
[parallel]
parallel1=file
This will create files in the capture folder, the filename will be the name of the program that printed them, followed by _<3digitnumber>.prt. If you want to append everything to one file, specify the filename like this:
[parallel]
parallel1=file append:c:outputfile.prt
The files created with this method can be copied to the printer without changes to print them. But note that this is raw output containing control codes for the printer that is printer dependent. So if your program knows how to print to an Epson ESC/P dot matrix printer, you can copy the file to such a printer and it will work. If you copy it to a different printer you will most likely get garbage.
Printing directly to a dot matrix printer
To directly print to a dot matrix printer, you configure DOSBox like this:
[parallel]
parallel1=file dev:lpt1
If the printer is directly connected to the host’s first parallel port, this should already work (I haven’t tried it though). If not, you need to mount it using
net use lpt1 \serverSharedPrinter
This will directly print to a network printer. Again, be warned that this only works if your DOS program knows how to print to this particular printer type.
Alternatively you can specify the printer share directly in the [parallel1] section like this:
[parallel]
parallel1=file append:\serverSharedPrinter
Автор: Guest Rooms «Varnaflats.eu»
Дата публикации: 2017-06-26T09:10:00.001-07:00
К сожалению, не все платы Supermicro поддерживают загрузку через IPMI с образов HDD. Не все платы поддерживают
Supermicro Update Manager, который является отдельным платным продуктом, в использовании которого в небольших средах до десятка серверов нет реальной необходимости.
Остается лишь поддерживаемый всеми IPMI модулями ISO, изготовлением которого мы и займемся. Для унификации со способом загрузки разных полезных вещей будем использовать тот же загрузчик Syslinux, т.е. его разновидность под названием ISOLinux. Загрузчик выводит меню и при помощи модуля memdisk грузит нужный дисковый образ. Это не самый простой способ в плане первоначальных затрат времени, но в дальнейшем будет легко использовать ту же конфигурацию и образы для загрузки через PXELinux.
Процесс настройки ISOLinux подробно описан в Вики по Syslinux, но пути к некоторым файлам в дистрибутиве Syslinux в последних версиях изменились.
1. Качаем последний дистрибутив Syslinux (6-я ветка, последняя на сегодняшний день): ftp://kernel.org/pub/linux/utils/boot/syslinux/6.xx/syslinux-6.02.tar.bz2
2. Создаем каталоги cd_root/isolinux и cd_root/kernel. В cd_root/isolinux копируем файлы из дистрибутива:
bios/core/isolinux.bin
bios/com32/elflink/ldlinux/ldlinux.c32
bios/com32/menu/menu.c32
bios/com32/menu/vesamenu.c32
bios/com32/chain/chain.c32
bios/com32/lib/libcom32.c32
bios/com32/libutil/libutil.c32
В cd_root/kernel копируем bios/memdisk/memdisk
3. Готовим образ HDD с DOS. Образы копируем в cd_root/images
4. Пример конфигурационного файла cd_root/isolinux/isolinux.cfg:
DEFAULT vesamenu.c32
ALLOWOPTIONS 0
PROMPT 0
TIMEOUT 300
ONTIMEOUT local
MENU TITLE boot menu
MENU BACKGROUND splash.png
MENU COLOR border 30;44 #00000000 #00000000 none
MENU COLOR unsel 37;44 #90ffffff #00000000 std
MENU COLOR sel 7;37;40 #70ffffff #20ff8000 all
MENU COLOR hotsel 1;7;37;40 #e0ffffff #20ff8000 all
MENU BEGIN tests
MENU TITLE Tests
LABEL MAINMENU
MENU LABEL ^back
MENU EXIT
LABEL memtestplus5
MENU LABEL Memtest86+ 5.01
kernel /kernel/memdisk
initrd /images/memtest86.iso.gz
append iso
MENU END
MENU BEGIN smc_bios
MENU TITLE Supermicro BIOS Updates
LABEL MAINMENU
MENU LABEL ^back
MENU EXIT
MENU BEGIN X10S
MENU TITLE X10S
LABEL MAINMENU
MENU LABEL ^back
MENU EXIT
LABEL X10SLD
MENU LABEL X10SLD v 2.0
kernel /kernel/memdisk
append initrd=/images/smc/x10s/x10sld.gz
MENU END
5. Создаем ISO:
mkisofs -o output.iso
-b isolinux/isolinux.bin -c isolinux/boot.cat
-no-emul-boot -boot-load-size 4 -boot-info-table
cd_root
6. Проверяем. Видим меню, грузим нужный пункт, получаем DOS:
Автор: Dmitry Nosachev