![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Поиск и запуск приложения согласно условию If... |
|
[решено] Поиск и запуск приложения согласно условию If...
|
Ветеран Сообщения: 842 |
Помогите грамотно и сжато написать скрипт, который попытается запустить приложение согдласно условию...
Например, найти @ProgramFiles\Cubase\Cubase.exe или @ProgramFiles\Cubase 4\Cubase.exe или @ProgramFiles\Cubase\Cubase4.exe или @ProgramFiles\Cubase 4\Cubase4.exe если error=1 то продолжить работу скрипта.... ну или Exit При первом совпадении нужно выйти из "цикла", чтобы не сработало дважды... То-есть, нашёл, запустил, и продолжил далее скрипт... Хотя гуру, конечно могут посоветовать regexp парисногом искать часть имени, я не против, это даже лучше! Пожалуйста не придирайтесь, я действительно не шарю в логических построениях... Мне очень надо! |
|
------- Отправлено: 21:57, 30-12-2009 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать semiono,
Извините. Я так увлекся поиском, что не проверил скрипт в случае, если файла нет. Я код поправил(в очередной раз ![]() |
Отправлено: 00:19, 17-02-2010 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать madmasles, во-первых работает, во-вторых очень оперативно! Я уже хотел отказаться от батников,
думал овета не скоро дождусь, так как уже пару дней прошло, видимо ночами работаешь!? ![]() |
------- Отправлено: 00:31, 17-02-2010 | #12 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать Надо усложнить код! Я бы сразу сказал да не думал, что вообще результат будет такой хороший
![]() Почему-то не пошло так $aReturn = _FileSearch(@ProgramFilesDir, StringSplit("Cubase*.exe|Nuendo*.exe","|")) // мои сочинения ))) Вообщем надо две проги запустить, всё одинакого в обоих случаях, третью прогу не надо, две хватит! ![]() |
------- Отправлено: 22:56, 17-02-2010 | #13 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать semiono,
Так найдите сначала одну - запустите, потом вторую, третью... и .тд. |
Отправлено: 23:17, 17-02-2010 | #14 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать
Надо так Cubase.exe or Nuendo.exe, одно из двух только
|
------- Отправлено: 23:23, 17-02-2010 | #15 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать semiono,
Вы напишите в какой последовательности и какие программы должны запускаться. |
Отправлено: 23:37, 17-02-2010 | #16 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать 1 = Cubase.exe 2 = Nuendo.exe, но это не важно, и я переделать смогу
--- я тоже кодю сам тока безрезультатно пока.. If ProcessExists($aReturn) = -1 Then )))) |
------- Отправлено: 23:49, 17-02-2010 | #17 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать semiono,
Нет, давайте конкретно. 1. Если есть Cubase.exe, то запускается Cubase.exe и выход. 2. Если Cubase.exe нет, то ищем Nuendo.exe, нашли - запускаем и выход. 3. Если нет не того не другого, то что запускаем? Вот так у меня получилось: $aReturnCubase = _FileSearch(@ProgramFilesDir, "Cubase*.exe") $aReturnNuendo = _FileSearch(@ProgramFilesDir, "Nuendo*.exe") If $aReturnCubase[0] <> 0 Then Run($aReturnCubase[1]) Exit ElseIf $aReturnNuendo[0] <> 0 Then Run($aReturnNuendo[1]) Exit Else MsgBox(0, "", " Не найден ни Cubase*.exe, ни Nuendo*.exe") EndIf Exit Func _FileSearch($sPath, $sFileMask) Local $sOut = StringToBinary("0" & @CRLF, 2), $aOut Local $hDir = Run(@ComSpec & ' /U/C DIR "' & $sPath & '\' & $sFileMask & '" /S/B/A-D', @SystemDir, @SW_HIDE, 6) While 1 $sOut &= StdoutRead($hDir, False, True) If @error Then ExitLoop WEnd $aOut = StringRegExp(BinaryToString($sOut, 2), "[^\r\n]+", 3) If @error Then Return SetError(1) $aOut[0] = UBound($aOut) - 1 Return $aOut EndFunc ;==>_FileSearch Я поправил код. |
Последний раз редактировалось madmasles, 18-02-2010 в 00:21. Отправлено: 23:58, 17-02-2010 | #18 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать Цитата madmasles:
--- Я извиняюсь, наверное цикл не совсем верный, оба приложения открываются. В конце Run(@SystemDir & '\Nuendo.cmd', "", @SW_HIDE) очевидно сработает при любом условии, но даже если закоментировать всёравно что-то не то. |
|
------- Последний раз редактировалось semiono, 18-02-2010 в 00:21. Отправлено: 00:09, 18-02-2010 | #19 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать semiono,
Цитата:
Нашли Cubase*.exe - запустили его, вышли. Нет Cubase*.exe, нашли Nuendo*.exe - запустили его, вышли. Ничего не нашли - сообщили об этом и вышли. |
|
Отправлено: 00:24, 18-02-2010 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Как организовать поиск нужного диска и запуск с него приложения? | Nun-Nun | Скриптовые языки администрирования Windows | 16 | 28-05-2009 22:12 | |
Прочие - удалённый запуск/завершение приложения | danya_rus | Программное обеспечение Windows | 0 | 27-05-2009 18:48 | |
Запуск терминального приложения | Rulezzz2 | Microsoft Windows NT/2000/2003 | 2 | 11-03-2009 16:00 | |
Интерфейс - [решено] Поиск файлов из приложения | bofi | Microsoft Windows 2000/XP | 2 | 06-10-2008 18:37 | |
запуск DOS приложения | Pupil | Microsoft Windows 2000/XP | 8 | 29-12-2003 12:42 |
|