Рассылка закрыта
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
← Октябрь 2001 → | ||||||
2
|
3
|
4
|
5
|
6
|
7
|
|
---|---|---|---|---|---|---|
8
|
9
|
11
|
12
|
13
|
14
|
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
26
|
27
|
28
|
|
29
|
30
|
31
|
Статистика
за неделю
Программирование для начинающих #25
Программирование для начинающихВыпуск 25
Ведущий рассылки: Вячеслав Мацнев | e-mail: stac@stacmv.net |
|
В этом выпуске читайте: |
Сегодня я хочу сказать слово о прогрессе. Короче, куда катится этот мир? Да, этот, в котором мы с вами живем. Почитав недавно немного компьютерной прессы, я ничуть не удивился, увидев там материалы об очередной модели процессора, очередном северном мосте, вкупе с южным, об очередной версии всеми любимой ОС. Да и чему тут удивляться? Все эти чудесные новинки, ведь, призваны несказанно облегчить нашу, ну очень сложную, пользовательскую жизнь, а особенно мою (о чем авторы говорят особо :). Говорят, в частности, что скоро я смогу общаться со своим компьютером посредством голоса, а он будет в совершенно реальном (чисто конкретном) времени меня понимать и выполнять мои команды! Может вы уже уловили иронию в моих словах и задались вопросом, чего, мол, здесь плохого, в прогрессе в этом и вообще? Да, не знаю. Вроде (кажется) все нормально. У нас появляются новые безграничные возможности и пр. А, вот, что делать со старыми? Да и польза от всяких нововведений часто довольно сомнительна. Возьмем то же голосовое управление. Скажите, вы пробовали управлять компьютером с помощью голоса (эта возможность появилась уже давно)? Я пробовал. Очень весело. Впервые со мной это случилось году, этак в 95-м. Была у меня программка Voice Pilot, работающая под Win 3.1. Причем, скажу вам, неплохо работающая. Бывало, подойду к компьютеру и скажу ему "Нортон", и, бац!, запускается Norton Comander (тогда я им еще пользовался). "Вверх", "Энтер","Вниз", "Энтер" - комп перемещает указатель вверх-вниз, входит-выходит из каталогов, запускает файлы. Волшебно! Кстати команды распознавались довольно неплохо, лучше чем у других аналогичных программ, опробованных мной позже. В моем компьютере стоял тогда 486-й процессор от AMD. И никой 10-гигагерцовый Pentium был не нужен. Кстати о "четверках", AMD сняла их с производства совсем недавно (судя по публикациям, этим летом), но заказы на них будут приниматься где-то до 2002 года. Кто-то скажет, что та моя "четверка" не могла писать под диктовку и вести со мной диалог. Но это и к лучшему. С Voice Pilot я играл, наверное, неделю, не больше. Как долго я смог бы терпеть говорящего "интеллектуального" помощника, не знаю, но не больше той же недели. Представьте, что ваш компьютер управляется голосом. Просто представьте. Ну что, понравилось? Давайте я тоже представлю... "Нортон" - "На данном компьютере инсталлированы Norton Comander, Norton Utilities, Norton Antivirus, Norton Guide. Уточни запрос." - "Нортон Командэр" - "Какая версия: 4.0, 5.0?" - "4" - "Norton Comander 4.0 не установлен. Установить?" По-моему, проще нажать "Ctrl-Alt-N" или другую установленную комбинацию клавиш. Вы скажете, что я утрирую? Нет, не скажите, вы поняли, что я хотел сказать. И многие, я думаю, разделяют мое мнение. Да и шут с ним, с голосовым управлением, я хочу сказать, что прогресс прогрессу, конечно, рознь. Но в последнее время нам очень часто впаривают всякую фигню и говорят, что это хорошо. Недавно прочел обзор новых скоростных CD рекордеров. История с ними, похоже, повторяет историю с обычными CD-ROM дисководами. Скорость растет, но растет и шум, а качество иногда даже падает. "Компакт диск на этом приводе пишется за 7 минут. Среди недостатков стоит отметить сильный шум и большую загрузку процессора (во время записи даже мышка тормозит). Тестируя дисковод мы не испортили ни одной "болванки", но WinOnCD несколько раз выдавал сообщения, что "энное" количество ошибок было исправлено с помощью BurnProof... ... но в целом привод оставил хорошее впечатление ..." Примерно такими словами был описан CD рекордер, пишущий на 20-й скорости. Кошмар. Читаю и думаю, что за бред написан, как такое вообще может быть? Кому может понадобиться такое барахло? Мой 8-скоростной "Митсумик" пишет "болванку" за 9-10 минут. Шума от него не дождешься (ну, это понятно, 8-я скорость, не 20-я). И комп не тормозит, в не критических случаях я даже слушаю MP3 музыку во время записи. "Не критический случай" это когда, например, не приходится на лету декодировать mp3 при записи AudioCD. Да, ни одной "болванки" я еще не испортил. Правда я не все пока возможности рекордера испытал, но все же... Да и брал я свой Mitsumi за $99, а то "чудо" техники предлагают за $210. Грустно становится от всего этого. А, ведь, кто-то прочитает обзор и побежит в магазин... Аналогичная ситуация и в области software. За примером далеко ходить не надо. Про Windows XP слыхали? Сам я пока этой штуки не видел, как и Windows Me, признаюсь. Но пишут про нее и пишут не мало. Иногда хочется, попробовать новую ОС, но вовремя останавливаю себя: зачем??? Чем она лучше предыдущих? Надежность? "Новая версия еще надежнее, чем предыдущие!" Еще? Неужели, еще надежнее? Что же такое надежность, тогда вообще? Когда начинаешь задаваться такими вопросами непременно узнаешь от авторитетного эксперта, что,оказывается, предыдущие "винды" были очень глючными, не стабильными и не надежными. Казалось бы, все мы берем Windows в одном месте (ну, в одном, что смешного?). По идее она у всех одинаковая, глючная - не глючная, но одинаковая. Почему-то у одних все работает нормально, а у других нет. Ах, да у всех же разное "железо". Не хотят отставать от прогресса товарищи, покупают всякий металлолом, не подумавши или просто по глупости, вот и приходится им потом искать новую еще более стабильную и надежную ОС. А Билл Гейтс и рад, выдавая каждые несколько лет новую версию своей операционки. Причем, я слышал, что XP последняя в серии Windows. Кто-нибудь в это верит? Складывается впечатление, что двигатель прогресса это не лень, как говорят, а глупость. Предыдущая инсталляция Windows 98SE проработала у меня год и проработала бы еще, если бы мне не захотелось узнать, не будет ли у меня проблем с ее установкой. Дело в том, я купил новый винт, и мне было лень устанавливать на него Windows, поэтому я просто скопировал ее со старого винта. А недели две назад все-таки переустановил. И никаких особенных глюков не наблюдалось. Нет, апгрейд операционной системы, конечно, оправдан, но не во всех случаях. Лично для себя я таких оправданий сейчас придумать не могу. Хотя раньше мог. Когда старая ОС не работает на новом оборудовании, приходится искать новую ОС. И здесь нет противоречия с моими словами насчет металлолома. Дело в том, что на металлоломе все работает, но не всегда надежно (понимайте это, как хотите), а бывают случаи, когда ОС с оборудованием не работает вообще никак. Никто не будет ругать Windows 3.1 за то, что в ней не работает USB сканер... Ладно, подведу итог. Сейчас идет некая "гонка вооружений" среди производителей. Естественно, всем хочется кушать. Но нам, потребителям, не стоит поддаваться (слишком часто) на уверения производителей, что их новые разработки прогрессивны. Потому что этот их прогресс зачастую "липовый" и не несет ничего, кроме необходимости покупки очередной прогрессивной феньки.
Друзья, есть несколько более серьезных вещей, которые мне нужно вам сказать, поэтому я отделил их от того бреда на тему прогресса. Во-первых, оказывается, что сайт рассылки давно не обновлялся. Я пока все еще не имею регулярного доступа к Сети, а мой друг (Cobra), обновлявший сайт ранее, сообщил, что последнее время было не возможно соединиться с newmail'ом по ftp. Было принято решение переселить пока сайт в другое место, а именно на http://stacmv.boom.ru . Сайт по адресу http://stacmv.nm.ru продолжает работать, но пока обновляться не будет. Во-вторых, размер zip-файла со всеми выпусками рассылки уже превысил 300Кб. Я решил разбить все выпуски на несколько файлов, так чтобы каждый из них не превышал 300Кб. Мне, кажется, так будет лучше. Чем меньше файл, тем быстрее он скачивается (и закачивается на сервер). Кроме того, при получении файла по email через службу WWW4Mail файл не будет разбиваться на части и, соответственно, его не нужно будет собирать при получении. Осталось только спросить у вас, правильное ли решение я принял, может кто-то предложит лучший вариант? В-третьих, у рассылки постоянно появляются новые подписчики, которые почти одновременно читают как старые выпуски из архива, так и свежие выпуски. При этом у многих из них создается впечатление, что они опаздывают и должны догнать тех подписчиков, которые читают рассылку уже давно. Меня часто спрашивают, надо ли выполнять домашние задания опубликованные в ранних выпусках рассылки и тому подобное. Поэтому я должен прояснить эту ситуацию. Есть курс "Программирование для начинающих" (http://stacmv.boom.ru). Общение студентов и преподавателей этого курса происходит посредством электронной почты, как в индивидуальном порядке, так и посредством этой рассылки. Причем рассылка выходит с сервера Subscribe.ru и, следовательно, доступна всем желающим, а не только студентам курса. И все могут читать рассылку и узнавать для себя что-нибудь новенькое, студенты курса, кроме того, могут или, скажем, должны выполнять установленные домашние задания. Вне зависимости от того, когда подписчик решил изучать программирование с помощью рассылки, он может или, скажем, должен достать архив рассылки и изучить материал предыдущих выпусков, т.к. я всегда предполагаю, что читатель знаком с тем, что я говорил ранее. Изучая предыдущие выпуски рассылки, подписчик будет сталкиваться с домашним заданием для студентов курса (в настоящее время таких задания три). При желании подписчик может стать студентом и, выполнив домашние задания, рассчитывать на их проверку мной и получение от меня замечаний, советов, комментариев по поводу этого ДЗ (в том случае, если что-то не получается или получается не так, как хотелось бы). Курс "Программирование для начинающих" не коммерческий, т.е. бесплатный, поэтому все желающие могут пополнить ряды его студентов. Информация о том, как это сделать имеется в Сети: http://stacmv.boom.ru/edu_idx.html. Таким образом получается, что выполнять домашние задания надо (зачем же я их тогда придумывал?), попробуйте спросить у преподавателя ВУЗа или школы, надо ли Вам выполнять задания, если если их уже выполнили ваши старшие товарищи. У нас, правда, в отличие от той же школы, выполнять задания можно когда угодно и как угодно долго. Главное, чтобы вы сами (ну и я, конечно) были довольны результатом. Занимайтесь, когда есть время, занимайтесь, когда есть желание. Четвертый вопрос - проекты. Я уже довольно долго сотрясаю воздух на эту тему (прошу прощения за аналогию с реальным миром). И пока испускаемые мной звуковые волны находят мало преград, от которых они могли бы отразиться. Проще говоря, не вижу вашего энтузиазма. Несколько человек, правда, энтузиазм все же проявили. Поэтому мы, пожалуй начнем уже чего-нибудь делать. И будет у нас свое средство обмена информацией, назовем его, скажем, "Рассылка "Вестник ПдН". Распространяться она будет двумя способами: 1) будет приходить на email участникам того или иного проекта, а также тем студентам, которые изъявят желание ее получать; 2)будет выходить с Subscribe.ru в качестве приложения к рассылке "Программирование для начинающих". Вторым способом будут распространяться лишь выпуски содержащие интересную для большинства подписчиков информацию. Таким образом, информация о ходе работ над проектами будет доступна всем заинтересованным. И последний вопрос - "мертвые души". Среди студентов курса есть граждане, которые не отвечают на мои письма (вплоть до того, что их адреса не существуют), некоторые даже не подтверждают свою регистрацию в качестве студентов. Поэтому через несколько недель я проведу "зачистку". С одной стороны, мне выгодно поддерживать число студентов большим нуля. С другой стороны, пусть лучше студентов будет меньше, но они будут учиться. Если вы зарегистрировались в качестве студента, но, по каким-то причинам, хотите отказаться от занятий, напишите мне об этом, мол, я, ник2 такой-то, уже стал программистом, и обучение на курсе "ПдН" для меня не целесообразно. Пока все.
Пришлось внести поправки в программу изучения ДОС. Причиной этому послужили некоторые вопросы подписчиков связанные с работой bat-файлов. Отсюда я сделал вывод, что у подписчиков начинает проявляться интерес к командному языку ДОС и надо этот интерес в экстренном порядке поддержать и усилить. Поэтому мы перескочим несколько тем, которые я хотел осветить ранее (вернемся к ним потом, если будет необходимость) и познакомимся с командным языком ДОС. А знакомить нас с ним будет Константин Даниленко.
Константин Даниленко
BAT-файлыВначале о терминологии. Слово «batch» в переводе с английского означает «партия», «пакет», «группа». По поводу перевода термина «batch file» в литературе существует забавный, но временами вводящий в заблуждение разнобой. Приведем наиболее распространенные разночтения: «пакетный файл», «командный файл», «пакетный командный файл», «файл пакетной обработки». Все эти термины представляются неудачными, ибо слово «пакетный» может быть спутано с «пакетом прикладных программ», а «командный» – с СОМ-файлом. Есть и жаргонные синонимы – «бэтч» и «батник» (однажды я даже слышал «ватник»). Это уже лучше, но слишком уж приблатненно. Поэтому будем пользоваться нейтральным и однозначным термином ВАТ-файл.Зачем же он нужен?
Пример первый. Файл AUTOEXEC.BATЕсли вам приходилось устанавливать DOS, то вы не могли не заметить, что вне зависимости от вашего желания DOS создает на C:\ файлы AUTOEXEC.BAT и CONFIG.SYS (это одна из функций некоторых инсталляторов). Второй из них мы обсуждать не будем, сосредоточившись на первом. Его название составлено из начал английских слов «automatic execution», то есть «автоматическое исполнение». Он содержит команды, выполняемые при каждом включении или перезагрузке компьютера. В частности, входя в DOS, вы захотите, чтобы у вас были активны, например:
В те благословенные времена, когда я работал под DOS, я решил, что не реже чем один раз в месяц нужно выполнять следующие действия: 1) полная проверка на вирусы; 2) дефрагментация диска; 3) сканирование оного Disk Doctor'ом. Так вот, каждый раз при загрузке на экране появлялась информация о дате последнего из этих действий, и, если это было раньше чем месяц назад, соответствующее сообщение назойливо мигало и предлагало начать проверку немедленно. Кстати, если DOS при загрузке не находит файла AUTOEXEC.BAT, ничего трагичного не случается. По умолчанию отрабатываются команды DATE и TIME, после чего DOS ожидает команды.
Пример второй. АнтивирусыКаждый раз, проверяя свой агрегат на зловредные вирусы, я запускал Aidstest Лозинского и DrWeb Данилова. Вот какие командные строки для этого требовались:
C:\UTILS\AIDS\AIDSTEST\AIDSTEST.EXE C: /F /PAIDSHDD.REP /Q /B
/X
C:\UTILS\AIDS\DRWEB\DRWEB.EXE C: /CL /CUP /DL /HI /MS /NI /OK /QU /RP /RV /SD /SO /TB /WF Запомнили? Мне-то еще ничего, я раз в месяц проверял, а если от кого нужда или горький опыт требует это делать еженедельно? Ежедневно? Невольно подумаешь: «Черт с ними, с вирусами, авось пронесет, а тут такой роман писать». Вы спросите, как я это вытерпел? Да никак. Один раз потратил полчаса, написал ВАТ-файл и с тех пор горя не знал. Запустишь его и занимаешься своими делами.
Пример третий. Резервное копированиеНичто не вечно под луной. Даже сверхустойчивая DOS иногда падает. На жестких дисках появляются плохие сектора, и по закону подлости на самых ответственных участках. Выходят из строя контроллеры. Случайно (или по воле друзей и сослуживцев с избыточным чувством юмора) затираются системные файлы. Или их съедает вирус, против которого Лозинский, Данилов и Касперский еще не успели написать противоядие... Короче, безопасности никогда не бывает слишком много. А посему важные файлы хорошо бы иметь где-то еще, кроме жесткого диска: на дискете, на другом компьютере, на ZIP'е, а еще лучше – везде, где только возможно. Я, например, к числу важных файлов относил следующие:
Пример четвертый. Групповое переименованиеНакапливаются текстовые файлы. Я их нумеровал: 01.TXT, 02.TXT, 03.TXT... Потом дело дошло до 99.TXT. Что делать? Ясно, что. Переименовать файлы следующим образом: 01.TXT станет 001.TXT, 02.TXT станет 002.TXT, и все дела. А теперь попробуйте-ка сделать это через команду ren. Разумеется, по маске, чтобы одной командой все файлы разом. Получилось? Если да, то напишите, как. Признаюсь, у меня не получилось. Из командной строки. А в ВАТ-файле для этого потребовалась одна-единственная команда. Привычное потрескивание винчестера, мелькание текста на экране, и пожалуйста – цель достигнута. Итак, резюме таково: ВАТ-файл
По-моему, рекламы достаточно.
Закон Первый. ВАТ-файл – это программа на алгоритмическом языке DOS; Закон Второй. ВАТ-файл может принести вреда больше, чем пользы; Закон Третий. ВАТ-файл не умеет больше того, что умеет DOS. Комментарии:
Как вы уже, очевидно, догадались, простейший ВАТ-файл содержит команды DOS, по одной на строку. Создадим файл FIRST.BAT (например, в Нортоне для этого надо нажать Shift-F4) и напишем в него:
ver
Сохраним и выйдем (F2, затем F10). Вначале те же команды DOS (ver и
dir) последовательно выполним из командной строки, а затем запустим
на выполнение ВАТ-файл. Заметили разницу? Правильно, ВАТ-файл
выполняет команды подряд, без паузы. Впрочем, паузу тоже можно
организовать. Но об этом позже.
При указании только имени (без расширения) одноименные исполняемые файлы DOS запускаются в следующем приоритетном порядке: COM EXE BAT
То есть расширение ВАТ для DOS имеет совершенно особый смысл, и
неспроста. Если в DOS вам не хватает команд, внешних и внутренних,
пишите свою «команду DOS» – это и будет ваш ВАТ-файл.
Попробуйте проделать все это, не заглядывая дальше, а потом проверьте.
md one
Разумеется, ваш текст может слегка отличаться от моего. Например, вторая строка может с тем же успехом иметь следующий вид:
copy wolf.txt c:\test\one
Суть не в форме, а в содержании. Раз вы выполнили поставленную задачу, то детали большого значения не имеют. Например, можно долго и достаточно продуктивно рассуждать об относительном (ONE) и абсолютном (C:\TEST\ONE) указании пути. Но это обсуждение имеет отношение уже не к теме ВАТ-файлов, а к теме DOS вообще.
Теперь пора перейти к тем возможностям ВАТ-файла, которые не предоставляет командная строка DOS, и которые придают ВАТ-файлу почти безграничные возможности. Будь на то моя воля, я бы каждый учебник по программированию начинал с самого важного оператора – оператора комментария. Эти операторы служат двум главным целям: 1) снабжение своего детища пояснениями; 2) временное исключение из обработки участков программы. Для последней цели существует даже специальный термин: «закомментировать». Итак, формат комментария таков: rem Любой текст
Текст не должен содержать символы > («больше»),
< («меньше»)
и | («конвейер»).
А теперь – разъяснения:
Итак, если мы хотим создать «молчаливый» ВАТ-файл, то первой его строкой должна быть такая: echo off Создадим ВАТ-файл следующего содержания:
echo off
Его выполнение даст следующее:
echo off
Проведем разбор полетов. Вторая строка исполнена так, как нам хотелось: выведен только текст, а сама команда осталась «за кадром». Значит, первая строка сработала верно, подавив вывод. Но сама она на экран вывелась. Почему? Да все потому же: любая строка вначале эхируется (если эхо включено), а лишь затем выполняется. А эхо включено по умолчанию. Так что же, нельзя «заглушить» вывод строки echo off? Можно. Начиная с третьей версии DOS, в ВАТ-файлах введено такое правило:
Любая строка, начинающаяся с символа @, не выводится на экран, вне зависимости от текущего режима эха. Иными словами, команда echo off обеспечивает подавление глобальное, а символ @ – локальное. Обрадовавшись, исправим наш ВАТ-файл и получим вот что:
@echo off
Теперь его исполнение полностью соответствует нашему желанию: Some text
Если собрать с самых разных компьютеров 100 ВАТ-файлов, то можно
биться об заклад, что в 95 из них первая строка будет именно такая:
@echo off. Остальные же 5 наверняка находятся в стадии разработки и
вывод умышленно включен для целей отладки.
@echo off
@echo off
Кстати, в свете
Второго Закона
любой ВАТ-файл полезно вначале
выполнить умозрительно, без набивки. Мало того, что это спасет вас от
необратимых катастроф. Это позволит лучше постичь логику процесса.
Так что, заметили разницу в выполнении двух вышеприведенных ВАТ-
файлов? И я нет.
ctty устройство Например, для вывода списка файлов текущей директории на принтер надо написать
ctty prn
Но наиболее часто используются устройства con и nul. Устройство «con»
– это консоль, попросту экран. Устройство «nul» – нулевое, то есть
отсутствие какого-либо устройства. По умолчанию, разумеется,
предполагается вывод на экран. Но зачем это может пригодиться?
Однажды я написал достаточно большой ВАТ-файл, одной из задач
которого было архивирование с паролем, вводимым из командной
строки. Само собой, демонстрировать этот пароль кому-либо у меня не
было никакого желания. И если момент ввода пароля в командную
строку я выбирал сам, то гарантировать, что кто-то не взглянет на экран
как раз в момент выполнения команды архивирования, я не мог. Выход?
Направить вывод на нулевое устройство командой ctty nul, затем
заархивировать и уже потом восстановить вывод на консоль командой
ctty con.
echo Нажмите любую клавишу
Зачем же символ перенаправления, если команда ctty обходилась без
него? Во-первых, она все-таки может его использовать. Попытайтесь это
сделать и посмотрите, что выйдет. Во-вторых, перенаправление – это
правило, а не исключение. Попробуйте перенаправление с командами
ver, dir, date, и вообще теми, которые что-то пишут на экране. Кстати, в
качестве устройства могут выступать не только стандартные (con, prn,
nul, com1 и другие), но и любой файл. Я этим очень часто пользуюсь.
Вообще перенаправление и фильтры – неисчерпаемая тема. Но все это
может быть использовано и в командной строке, а мы сейчас обсуждаем
команды, специфичные только для ВАТ-файлов.
В выпуске 24 от 22901Вашей рассылки "Программирование для начинающих" Вы писали: "Понимаю, что не у всех установлен Linux, поэтому, если кто-нибудь видел текстовый браузер для DOS/Windows, намекните, пожалуйста, где его можно взять". Здесь виндовая версия Lynx-а: http://www.jim.spath.com/lynx_win32/ Михаил http://www.fdisk.com/doslynx/wlynx/ AleX
DO Sледующего выпуска. Пока!
|
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу | Рейтингуется SpyLog |
В избранное | ||