View previous topic :: View next topic |
Author |
Message |
Mellomann

Joined: 07 Sep 2009 Posts: 709
|
(Separately) Posted: Sun Oct 14, 2012 19:57 Post subject: Определение разрядности ОС и запуск программы: одной строкой |
|
|
Суть задачи - в том, чтобы при помощи одной строки прописать определение разрядности винды и запустить соответствующую прогу. Всё это будет помещено в кнопку или в пункт меню "запуск".
Сейчас немного набросал общую суть и у меня это имеет вот такой вид:
Quote: | @if not exist "%ProgramW6432%" @set dirnm=AkelPad
@if exist "%ProgramW6432%" @set dirnm=AkelPad64
@"%COMMANDER_PATH%\Plugins\exe\%dirnm%\AkelPad.exe" |
Хотелось бы уплотнить это в одну строку, не показывать окно консоли и затем поместить на кнопку (или в меню "запуск").
Какие будут идеи? |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
|
Back to top |
|
 |
Mellomann

Joined: 07 Sep 2009 Posts: 709
|
(Separately) Posted: Sun Oct 14, 2012 20:44 Post subject: |
|
|
Flasher
там нет последующего запуска программы. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Oct 14, 2012 20:59 Post subject: |
|
|
Mellomann
Зато там безошибочная установка переменной, указывающей на битность, в отличии от примера выше.
И почему нельзя было спросить (как у тебя это в привычку вошло) в существующей теме? |
|
Back to top |
|
 |
Mellomann

Joined: 07 Sep 2009 Posts: 709
|
(Separately) Posted: Sun Oct 14, 2012 21:14 Post subject: |
|
|
Покамест получил: Quote: | TOTALCMD#BAR#DATA
%ComSpec% /c
? if not exist "%%ProgramW6432%%" ("%%COMMANDER_PATH%%\Plugins\exe\AkelPad\AkelPad.exe") else if exist "%%ProgramW6432%%" ("%%COMMANDER_PATH%%\Plugins\exe\AkelPad64\AkelPad.exe")
%ComSpec%
AP
-1 | Осталось только как-то скрыть окно консольное...
Flasher wrote: | И почему нельзя было спросить (как у тебя это в привычку вошло) в существующей теме? | Потому, что тут задача - не просто определить, а запустить прогу соответствующей битности. При этом, чтобы всё уместилось в одну строку и применялось в качестве кнопки (или п.м."запуск"). |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Oct 14, 2012 21:21 Post subject: |
|
|
Mellomann wrote: | Покамест получил: | Всё равно неправильное определение.
Mellomann wrote: | Осталось только как-то скрыть окно консольное. | У тебя куча батников и кнопок с консолью, и ты не знаешь как производить скрытие? Соотв. галку в кнопке ставить пробовал?
Mellomann wrote: | а запустить прогу соответствующей битности | А ты тему то читал? Там об это и речь. |
|
Back to top |
|
 |
Mellomann

Joined: 07 Sep 2009 Posts: 709
|
(Separately) Posted: Sun Oct 14, 2012 21:24 Post subject: |
|
|
Flasher wrote: | Всё равно неправильное определение. | Почему? Работает же...
Flasher wrote: | У тебя куча батников и кнопок с консолью, и ты не знаешь как производить скрытие? | Никогда не задавался такой целью.
Flasher wrote: | Соотв. галку в кнопке ставить пробовал? | Нужно не свернуть, а чтобы его вообще не было. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Oct 14, 2012 21:32 Post subject: |
|
|
Mellomann wrote: | Почему? Работает же | В той же теме ответ на вопрос.
Mellomann wrote: | Нужно не свернуть, а чтобы его вообще не было. | Так это нужно для всех батников, а не конкретно для этого. Примеров утилит на форуме приводилось достаточно (мной в том числе). Ищи. Можно сразу в гугл (пример).
Но, откровенно говоря, сейчас некоторые по-другому делают.
В autorun.cfg пишут:
SetEnv /A /EV OSARCH %AUTORUN_OSARCH%
кидают exe-шники в две папки программы "32" и "64" и запускают (без всяких cmd):
%COMMANDER_PATH%\Plugins\exe\AkelPad\%OSARCH%\AkelPad.exe |
|
Back to top |
|
 |
Mellomann

Joined: 07 Sep 2009 Posts: 709
|
(Separately) Posted: Sun Oct 14, 2012 22:13 Post subject: |
|
|
Flasher wrote: | SetEnv /A /EV OSARCH %AUTORUN_OSARCH%
%COMMANDER_PATH%\Plugins\exe\AkelPad\%OSARCH%\AkelPad.exe |
Ну, это если акелпад в разных папках - то да, хорошая идея.
А, напрмер, с CCleaner'ом (обе исполнялки в одной папке) такой фокус не прокатит.
Да и менять пути мне сейчас ой как не в тему - уж больно много на них уже завязано, что сходу и не вспомню все места, где придётся их править.
Неуж-то желаемое мною нереализуемо посредством одной-единственной строки без сторонних утилит?
Добавлено спустя 5 минут:
Хотя, идея с %PROCESSOR_ARCHITECTURE% в пути мне нравится... Жаль на ТС 32 не сработает...
Только есть нюанс - если х64 на амд пишет как amd64, то что отображается на интел? Неуж-то ia64? |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Oct 14, 2012 22:49 Post subject: |
|
|
Mellomann wrote: | А, напрмер, с CCleaner'ом (обе исполнялки в одной папке) такой фокус не прокатит. | Так способ уже не предполагает содержания в одной папке.
Mellomann wrote: | уж больно много на них уже завязано, что сходу и не вспомню все места, где придётся их править | Любой автозаменялкой поправишь, не так уж и проблемно.
Mellomann wrote: | Неуж-то желаемое мною нереализуемо посредством одной-единственной строки без сторонних утилит? | Вроде нет.
Mellomann wrote: | Хотя, идея с %PROCESSOR_ARCHITECTURE% в пути мне нравится... Жаль на ТС 32 не сработает... | А зачем ты там else if <...> повторно пишешь? Там же else достаточно.
А чтобы работало, я тебе пример в первом посте привёл.
Mellomann wrote: | Только есть нюанс - если х64 на амд пишет как amd64, то что отображается на интел? Неуж-то ia64? | Нет, то же самое. |
|
Back to top |
|
 |
LonerD

Joined: 04 Jan 2011 Posts: 1172 Location: Макеевка
|
(Separately) Posted: Mon Oct 15, 2012 13:54 Post subject: |
|
|
Тут более простой вариант, который можно записать и в одну строку.
Quote: | А, напрмер, с CCleaner'ом (обе исполнялки в одной папке) такой фокус не прокатит. |
Как вариант - переименовать ехе-файлы CCleanerа и запускать их
CCleaner%OSARCH%.exe |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Oct 15, 2012 13:56 Post subject: |
|
|
LonerD wrote: | Тут более простой вариант | Папку можно переименовать, а также добавить там, где её нет. Не вариант. |
|
Back to top |
|
 |
|