Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как организовать поиск нужного диска и запуск с него приложения?

Ответить
Настройки темы
CMD/BAT - [решено] Как организовать поиск нужного диска и запуск с него приложения?

Аватара для Nun-Nun

Ветеран


Сообщения: 2153
Благодарности: 294


Конфигурация

Профиль | Отправить PM | Цитировать


Как с помощью bat-ника организовать автозапуск программы Setup.exe с CD-ROM-ного диска, буква которого на разных компах может оказаться неодинаковой (имеется ввиду буква диска C:, D:, E: и.т.д.)?

Отправлено: 15:42, 14-05-2009

 

Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Если Setup.exe лежит в корне CD, а в корне других дисков нет файла с таким именем, то попробуйте так:
Код: Выделить весь код
For %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) Do If Exist %%i:\Setup.exe %%i:\Setup.exe
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:50, 14-05-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Nun-Nun

Ветеран


Сообщения: 2153
Благодарности: 294

Профиль | Отправить PM | Цитировать


gora, Спасибо! Действительно работает!
А можно ли задать условие не просто по букве диска, а ещё и по метке тома?

-------
Свобода не означает вседозволенность.


Отправлено: 16:28, 14-05-2009 | #3


Аватара для Nun-Nun

Ветеран


Сообщения: 2153
Благодарности: 294

Профиль | Отправить PM | Цитировать


Смысл сабжа в том, чтобы обеспечить запуск Setup.exe только с нужного диска и исключить запуск одноимённого файла с других дисков.

Отправлено: 21:39, 14-05-2009 | #4


Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1264
Благодарности: 1024

Профиль | Отправить PM | Цитировать


Пробуй так:
Код: Выделить весь код
@echo off
set labelcd=твоя метка
wmic /? 1>nul
for /f "tokens=2* delims==" %%a in ('wmic path Win32_LogicalDisk where VolumeName^=^"%labelcd%^" get name /value') do start %%a\setup.exe
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:48, 14-05-2009 | #5


Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1264
Благодарности: 1024

Профиль | Отправить PM | Цитировать


Прикольно, пока писал ответ в предыдущей твоей теме про запуск, ты уже создал новую с новым условием . Меняю код:
Код: Выделить весь код
@echo off
set labelcd=твоя метка
set namecd=буква диска с двоеточием
wmic /? 1>nul
for /f "tokens=2* delims==" %%a in ('wmic path Win32_LogicalDisk where ^"VolumeName^=^"%labelcd%^" and Name^=^"%namecd%^"^" get name /value') do start %%a\setup.exe
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:02, 14-05-2009 | #6


Аватара для Nun-Nun

Ветеран


Сообщения: 2153
Благодарности: 294

Профиль | Отправить PM | Цитировать


El Sanchez, попробовал Ваш вариант. После запуска скрипта открывается окно с файлами на CDROM-е, но Setup.exe при этом не запускается.

-------
Свобода не означает вседозволенность.


Отправлено: 22:05, 14-05-2009 | #7


Аватара для Nun-Nun

Ветеран


Сообщения: 2153
Благодарности: 294

Профиль | Отправить PM | Цитировать


El Sanchez, нет, не работает. Во-первых, открывается окно и висит на экране, пока вручную его не закроешь (а хотелось бы, чтобы оно автоматически закрывалось); во-вторых, Setup.exe не запускается и, в-третьих, чтобы в команде SET указать нужную букву диска нужно её знать, а я её заранее знать не могу - на одном компе это может быть D:, на другом G:, на третьем ещё что-нибудь.

-------
Свобода не означает вседозволенность.


Последний раз редактировалось Nun-Nun, 14-05-2009 в 22:49.


Отправлено: 22:08, 14-05-2009 | #8


(*.*)


Сообщения: 36491
Благодарности: 6675

Профиль | Сайт | Отправить PM | Цитировать


Nun-Nun, судя по всему, у вас диск не жесткий, а оптический или съемный. Тогда не усложняйте, а используйте скрипт из сообщения 2. Вам шашечки или ехать?

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 01:19, 15-05-2009 | #9


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Nun-Nun, дабы уменьшить вероятность ложного запуска файла Setup.exe с другого диска (не с того с которого хотите), можно сделать следующее:
1 Изменить имя файла Setup.exe на какое то уникальное, например, My_Super_Puper_Setup.exe. Придумайте сами.
2 Положить в корень CD маркерный файл произвольного содержания с уникальным именем и расширением, например, My_Super_Puper_Marker.xyz Придумайте сами.
3 Объединить оба варианта из предыдущих пунктов.

Тогда .bat файл может выглядеть так:
Код: Выделить весь код
@Echo Off
:: Внесите сюда имя файла запуска
Set MySetup=My_Super_Puper_Setup.exe
:: Внесите сюда имя маркерного файла
Set MyMarker=My_Super_Puper_Marker.xyz
For %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) Do If Exist %%i:\%MyMarker% If Exist %%i:\%MySetup% %%i:\%MySetup%
Exit

Отправлено: 09:03, 15-05-2009 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как организовать поиск нужного диска и запуск с него приложения?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Поиск и запуск приложения согласно условию If... semiono AutoIt 19 18-02-2010 00:24
[решено] Как найти и прописать в реестре запуск нужного файла? Pozia AutoIt 12 12-03-2009 23:38
[решено] Поиск нужного текста в html коде страницы ph0en1x AutoIt 8 16-02-2009 02:38
Как организовать поиск по сайту Vampire Вебмастеру 4 30-01-2004 01:52
Как лучше организовать поиск по контексту ? Ustas2002 Вебмастеру 1 10-09-2002 21:34




 
Переход