Понедельник, 29.04.2024, 22:54
Приветствую Вас Гость | RSS

Статьй

Главная » Статьи » CMD \ BAT \ batch файлы

Запуск программ из bat - файла
Запуск BAT файлов, ошибки и их решения

Батники экономят наше время, так почему же их не использовать в повседневной жизни? К примеру можно запускать сразу несполько программ сразу.

Для того чтобы создать файл,достаточно открыть блокнот и сохранить текстовый файл с расширением "*.bat", выбрав опцию "Сохранить как..." и назвав его Load.bat. Сохнаряем, кликаем правой кнопкой - изменить.Сохраняем (Ctrl+S) и закрываем (Alt+F4).

Теперь начнем кодить, так сказать начало практики...

1)Как быть с пробелами в BAT файлах?

В путях к папкам и исполняемым файлам пробел вызывает ошибку.Самый распространенный ответ: "Заключи путь в кавычки". И этот ответ не верен, правда иногда работает. 

Установленные в системе программы соответствующим образом регистрируются системой. Поэтому некоторые из установленных программ могут запускаться одной простой командой из BAT файла или из апплета "Выполнить" панели "Пуск".

Одной из таких программ является Firefox: "start firefox"

Если после этой команды писать путь к исполняемому файлу, то происходит следующее: запускается обозреватель Firefox и пробует обработать запрос, то есть файл, путь к которому указан. То есть, если указать следующее:
start firefox C:\Program Files\Mozilla Firefox\firefox.exe

Обозреватель откроется, чтобы не было написано после "start firefox". Именно поэтому некоторые товарищи будут уверять что все прекрасно работает. Однако, если взять портативную программу, то ситуация окажется совсем иная. Рассмотрим в качестве примера ftp-клиент Filezilla.

Поскольку система не знает о программе, вышеупомянутая строчка работать не будет.
start filezilla

Чтобы запустить неизвестную системе программу, надо указать к ней путь:
start D:\FileZilla\FileZilla.exe

Теперь поговорим о путях и пробелах. Первый способ избежать этой проблемы - использование короткого имени.
start C:\Program Files\Sound Love\KiSxS.exe

В примере два имени с пробелами. Заменим их короткими. Правила создания коротких имен следующие: в коротком имени используются первые шесть символов имени без учета пробелов, после имени указывают порядковый номер папки с помощью символа "~". Так как папки "Program Files" и "Sound Love" у меня в единственном числе, получится следующее:

Program Files - Progra~1 
Sound Love - SoundL~1
start C:\Progra~1\SoundL~1\scw.exe

Если рядом будут присутствовать две папки, например "Sound Love" и "Sound Lavly", то следуя правилам, в примере выше надо будет указать SoundL~2, так как в этом случае "Sound Love" окажется вторым именем (имена считаются в алфавитном порядке).

Но этот способ неудобен тем, что приходится указывать порядковые номера. Ситуация с "Program files" более менее нормальная. Мало у кого встретится две подобные папки на системном диске. Но если вы решили установить несколько продуктов "Mozilla" на свой компьютер. У вас получится несколько папок, например:

Mozilla Firefox
Mozilla Thunderbird
Mozilla Sunbird

Короткими именами для них будут

Mozill~1
Mozill~2
Mozill~3

А теперь представьте, что вы написали BAT файл с упоминанием этих программ. Если удалить Firefox, оставшиеся записи перестанут работать, а если удалить Thunderbird, перестанет работать запись для Sunbird. Короче, способ с короткими именами - не наш способ. Теперь о кавычках.

Кавычки на самом деле работают, но не с теми способами, которые обычно советуют. Советуют обычно следующее:

start "C:\Program Files\Sound Club\scw.exe"

а это срабатывает редко. Намного чаще (почти всегда) срабатывает вот этот способ:
start C:\"Program Files"\"Sound Club"\scw.exe

Однако в ряде случаев не работает ничего из вышеописанного. В таких случаях я могу посоветовать использовать команду "cd".

cd \
С:
cd Program Files\Sound Club\
start scw.exe

В заключение расскажу еще о паре важных моментов. Допустим вы создали батник, запускающий три программы и вам нужно на время исключить запуск одной из трех. Это можно сделать удалением строки или ее комментированием. Первый способ - вандальный, а второй смотрите ниже.

start firefox 
start jetaudio
rem start defraggler

В данном случае отключен запуск установленной в системе программы Defraggler.exe. Комментируют строки, указывая команду "rem" в начале строки.

Все BAT файлы выполняются в окне консоли. Чтобы оно исчезало по окончании выполнения команд, не забывайте в конце писать команду на выход "exit".

start firefox
start jetaudio
rem start defraggler
exit

Пока это все. В следующей статье речь пойдет о возможности осуществлять более гибкое управление запуском программ при помощи BAT файлов.

Категория: CMD \ BAT \ batch файлы | Добавил: Dj_key (08.11.2010)
Просмотров: 58243