При переходе от DOS к Windows пользовательский интерфейс упрощается, причем зачастую отпадает необходимость не только в командной строке, но и в командных (пакетных) файлах. Хотя это и оправдано заложенным в Windows потенциалом, но все же существенно обедняет возможности по управлению ПК.
В Windows ярлык к программе MS-DOS представляет собой Pif-файл, являющийся также программой конфигурации системы. Неопытный пользователь нередко боится прибегать к командным строкам, поскольку сомневается в правильности вводимых команд и опасается что-либо испортить. Кроме того, неверные команды неудобно редактировать — приходится заново их набирать, если, конечно, нет утилиты Doskey. В общем-то несложные команды легко научиться быстро вводить напрямую, но когда необходимо выполнить их целую серию, в частности архивировать, переименовывать, перемещать или копировать группы файлов, а также если такие операции требуются часто, то имеет смысл обратиться к Bat-файлу. Лучше задавать простое имя файла, чтобы при его вводе не возникало ошибок. Система Windows позволяет сделать операции с файлами более наглядными, а безликим в DOS Ваt-файлам дать выразительные ярлыки.
Если в сети, например, более 50 компьютеров и все пользователи, как правило, хорошо знают свои программы и стандартные операции в NC и Windows, то, чтобы изменить свойства ярлыка к одной из общедоступных программ и добавить две вложенные одна в другую папки на каждый из ПК можно сделать следующее. В общедоступную папку поместить ярлык «Ярлык.lnc» с необходимыми свойствами, командный файл «Команда.bat» и ярлык «Команда.pif» к нему со значком, например, в виде самолета (Windows SystemPifmgr.dll). В Bat-файл были включены строки:
DEL C:WINDOWSРАБОЧИ~1ЯРЛЫК.LNC COPY F:<ПУТЬ>ЯРЛЫК.LNC C:WINDOWSРАБОЧИ~1ЯРЛЫК.LNC MD C:DIR1 CD DIR1 MD DIR2
В свойства ярлыка для этого файла также необходимо включить функцию «Закрывать окно по завершении сеанса работы». Теперь процедура замены ярлыка и создания двух вложенных папок на каждой из 50 машин заключается лишь в том, чтобы щелкнуть мышью на значке с изображением самолета в окне общедоступной сетевой папки.
Бывает, подобные задачи нужно решить и для локального ПК. Допустим, до работы над документом следует разархивировать имеющиеся на дискете файлы, а по окончании снова заархивировать. Кроме того, надо определенным образом систематизировать файлы, размещая их по разным папкам. В данном случае набор команд зависит от применяемых архиваторов.
Многие программы допускают управление через командную строку. Причем это оказывается более гибким, чем обычный щелчок мышью на ее значке. В подобном случае и помогут командные файлы и ярлыки. В свойствах ярлыков Windows (Lnc-файлов) тоже есть место для командной строки, указывающей на пакетный файл, запускаемый вместе с соответствующим ярлыком.
Проводник Windows (explorer.exe) можно запускать с параметрами, указанными в свойствах его ярлыка или в командном файле:
/n — открыть проводник в одинарном окне с содержимым текущей папки;
/e — открыть проводник с содержимым текущего диска и развернутой текущей папкой;
/root, <имя> — указать папку, содержимое которой требуется посмотреть.
Команда c:windowsexplorer. exe /e, /select, c:dir1file.doc откроет проводник с развернутым каталогом DIR1, а c:windowsexplorer.exe /n, /root, c:dir1file.doc вызовет текстовый редактор (в данном случае — Word) и откроет документ, а если Word не установлен, то появится сообщение об ошибке.
Команды будут выполняться одинаково как из командной строки (сеанс DOS), так и из соответствующего ярлыка. Однако чтобы не возникало проблем из-за неверной кодировки, имена каталогов и файлов следует вводить латиницей. Так, предыдущая команда не реализуется, если в пути будут присутствовать названия папок на русском языке в кодировке Windows.
Бывает, требуется запустить в Windows программу, которая может работать только в среде DOS. В таком случае опять же помогут командные файлы. Например, играть в GTA можно как в Windows, так и в DOS, но когда система перегружена выполняемыми в конкретный момент времени программами, GTA «не пойдет» и придется использовать режим эмуляции DOS. Чтобы ускорить этот процесс, нужно выполнить определенные операции. Сначала следует создать и поместить на Рабочий стол ярлык к сеансу DOS. Потом, открыв свойства ярлыка, добавить имя пакетного файла, который будет управлять запуском программы, и создать этот файл, например, под именем Igra.bat.
C: cd gta gta.bat
Затем, находясь во вкладке «Программа», необходимо нажать кнопку «Дополнительно», включить опции «Не давать программе обнаружить Windows», «Режим MS-DOS», «Выбрать новую конфигурацию MS-DOS» и заполнить поля для файлов Config.sys и Autoexec.bat, например, таким образом:
Config.sys DOS=HIGH, UMB Device=C:WINDOWSHimem.Sys DeviceHigh=C:WINDOWSEMM386.Exe devicehigh=c:windowscommandEbd ramdrive.sys /E 1048 devicehigh=C:doscdoakcdrom.sys /D:mscd001 device=C:doscdtdosm.sys device=C:doscdflashpt.sys device=C:doscdtcdrom.sys /D:mscd001 device=C:doscdaspi2dos.sys device=C:doscdaspi8dos.sys device=C:doscdaspi4dos.sys device=C:doscdaspi8u2.sys device=C:doscdaspicd.sys /D:mscd001 device=C:WINDOWSCOMMAND display.sys con=(ega,,1) Autoexec.bat SET TMP=C:WINDOWSTEMP SET TEMP=C:WINDOWSTEMP SET PROMPT=$p$g SET winbootdir=C:WINDOWS PATH=C:WINDOWS;C:WINDOWS COMMAND;C:DOSCD; C:WINDOWSCOMMANDEbd SET=C:=C: mode con codepage prepare=((866) C:WINDOWSCOMMANDega3.cpi) mode con codepage select=866 keyb ru,,C:WINDOWSCOMMAND keybrd3.sys LH C:WINDOWSCOMMAND MSCDEX.EXE /D:mscd001 /L:H LH C:WINDOWSSmartDrv LH c:dosmousemouse
В каталоге C:DOSCD находится драйвер для дисковода CD-ROM, полученный с загрузочной дискеты, а в C:DOSMouse — DOS-драйвер мыши.
Теперь, закрыв дополнительные настройки программы, можно сменить для нее значок, выбрав его с помощью кнопки «Обзор» из уже имеющихся в системе. Итак, для запуска программы достаточно щелкнуть на ярлыке. По окончании работы нужно в командной строке набрать Exit и нажать
В отдельных случаях с помощью командного файла можно перезагрузить систему. Так, для DOS-режима есть утилита Restart, исполняемый файл которой (restart.com) имеется в каталоге c:windowscommandebdebd.cab. Для Windows можно использовать программы, написанные на языках VB, Cи++ и др., а можно применить команду RUNDLL32.EXE shell32.dll, SHExit WindowsEx 2. Если такой файл снабдить красочным ярлыком, помещенным на Рабочий стол, то можно перезагружать ПК, не входя в меню «Пуск».
Команда RUNDLL32.EXE shell32.dll,SHExitWindowsEx 1 позволяет лишь завершить работу системы, а RUNDLL32.EXE shell32. dll,SHExitWindowsEx 8 — еще и выключить ПК (при наличии данной функции).
Следует учесть, что некоторые антивирусные программы «не дружат» с подобными Bat-файлами. Например, AVP при настройках «по умолчанию» и запущенном AVP-мониторе не разрешит даже скопировать такой файл. Однако определенные настройки помогут справиться и с этой проблемой.
Для параметров командных файлов в Windows можно вывести диалоговое окно. Так, создадим файл Mydel.bat для удаления указанного нами в дальнейшем файла.
IF exist %1 Del %1
В командной строке после имени командного файла указывается название удаляемого.
Создадим ярлык к Bat-файлу и в свойствах к нему на закладке «Программа» и в поле «Командная строка» добавим знак вопроса в конце строки через пробел. Включим функцию «Закрывать окно по завершении сеанса работы» и так изменим значок, чтобы он соответствовал характеру команды. В результате после двойного щелчка на ярлыке этого файла будет появляться окно «Параметры», куда необходимо ввести полное имя того файла, который мы собираемся удалить. Для завершения работы этой команды следует просто указать ОК. Здесь надо иметь в виду, что удаленный таким образом файл не будет помещен в Корзину и вернуть его, естественно, тоже будет нельзя.
В заключение создадим еще один командный файл Ar.bat, позволяющий выполнять сразу несколько функций:
- проверка дискеты на наличие файлов и их удаления;
- архивирование и отправка на дискету вместе с рисунками в формате .JPG только что написанной статьи, например Bat.doc, которая будет находиться в подкаталоге %1 каталога Maydoc1 (название подкаталога введем в окно параметров). Файлы с другими расширениями останутся в рабочем каталоге без изменений;
- выключение компьютера.
Ar.bat IF exist A:*.* Del A:*.* < y PKZIP A:BAT C:MAYDOC1 %1 *.DOC C:MAYDOC1 %1*.JPG RUNDLL32.EXE shell32.dll, SHExitWindowsEx 1
Открыв свойства Ваt-файла или его ярлыка, введем в конец командной строки через пробел знак вопроса. В корневом каталоге диска С: создадим служебный файл, который в дальнейшем может не раз пригодиться. Это будет текстовый файл с именем Y, причем без расширения, содержащий всего один символ Y. В первой строке Bat-файла символ Y дает утвердительный ответ на запрос команды Del об удалении файлов. Сам файл Ar.bat поместим в корневой каталог диска C: и, открыв свойства ярлыка, укажем C: в поле «Рабочая папка» закладки «Программа». Значок для ярлыка выберем из каталога WindowsSystemShell32.dll. Ярлык перетащим на Рабочий стол, вставим в дисковод дискету со старыми и ненужными файлами и, сохранив документ, закроем Word и щелкнем на ярлыке AR...
Александр Поляк-Брагинский, braginsky@comail.ru