Страница 1 из 9
Определить разрядность запущенного TC
Добавлено: Чт янв 19, 2012 10:47
gora
Батник будет запускаться из запущенного ТС версий 7 или 8.
Как с помощью батника определить разрядность (х86 или х64) того ТС, из которого произведен запуск батника с учетом того, что обе версии (х86 и х64) TC могут быть запущены одновременно?
[mod="Avada"]Подфорум для запроса выбран неудачно. Перенесено в "Автоматизацию".[/mod]
Добавлено: Чт янв 19, 2012 10:54
Flasher
Так базовое имя у TC8x64 с "64" на конце. Соответственно, по %COMMANDER_EXE% из 8-ки (начиная с pb10) и определять. На 7-ке переменная будет отсутствовать, значит, разрядность - 32. На vbs можно ещё одним способом.
Добавлено: Чт янв 19, 2012 11:22
gora
Flasher писал(а):начиная с pb10
Вот здесь я и застрял! А если у пользователя более ранняя бета и он не удосужился ее обновить?
Flasher писал(а):На vbs можно ещё одним способом
Можно увидеть реализацию?
Добавлено: Чт янв 19, 2012 11:29
Flasher
gora писал(а):А если у пользователя более ранняя бета и он не удосужился ее обновить?
А, т.е. это не для себя делается. Тогда на cmd пока не знаю как. Можно в комментарии написать условие про минимальность версии.
gora писал(а):Можно увидеть реализацию?
Я
тут несколько дней назад предлагал протестировать скрипт. В нём на 49 строке есть ответ.
Если поддержка в тестах будет, даю полноценный ответ.
Добавлено: Чт янв 19, 2012 11:38
gora
Flasher писал(а):есть ответ
А БЕЗусловный ответ получить нельзя?
Добавлено: Чт янв 19, 2012 11:40
Flasher
gora писал(а):А БЕЗусловный ответ получить нельзя?
Можно, но сложно. Пока лень писать реализацию. А кому-то, видимо, лень тестировать. У каждого своё.

В коде того скрипта "ответ" неполноценный, скомканный, там есть ненужные завязки.
Кстати, сюда же можно подключить и проверку системы на битность, будет вообще оптимал. 
Добавлено: Чт янв 19, 2012 12:05
gora
Flasher писал(а):Можно, но сложно.
Ясно
Flasher писал(а):проверку системы на битность, будет вообще оптимал
Такая переменная у меня есть и без скрипта, кстати ее легко получить и батником.
Добавлено: Чт янв 19, 2012 12:11
Flasher
gora писал(а):кстати ее легко получить и батником.
Только батник в vbs подвязывать как-то неахти. И как реализуется? Проверкой на существование папки PF? У меня более универсальный метод.
Добавлено: Чт янв 19, 2012 12:14
gora
Flasher писал(а):как реализуется?
Код: Выделить всё
Set xOS=x86& If Defined PROCESSOR_ARCHITEW6432 (Set xOS=x64) Else If "%PROCESSOR_ARCHITECTURE%"=="AMD64" Set xOS=x64
Добавлено: Чт янв 19, 2012 12:18
Flasher
gora,
дык.

Добавлено: Чт янв 19, 2012 12:28
gora
Flasher писал(а):дык.
И что? Моя строка прекрасно работает и из-под ТС, и без него. Всегда определяет правильно.
Добавлено: Чт янв 19, 2012 12:45
Flasher
Из-под ТСx32 на Winx32 она [s]не может верно работат[/s]ь, т.к. PROCESSOR_ARCHITECTURE покажет x86, а не AMD64.
А, хотя нет. Вижу в коде, что при невыполнении условий остаётся первое значение. Возьмём на заметику (даже не столько саму реализацию, сколько метод предусловности).
Добавлено: Чт янв 19, 2012 13:01
gora
Del
Добавлено: Чт янв 19, 2012 13:31
Flasher
gora
С опозданицем. См. выше.
А что должно происходить после выяснения битности ТС?
Добавлено: Чт янв 19, 2012 13:37
gora
Flasher писал(а):А что должно происходить после выяснения битности ТС?
Установка
"Кнопки..." нужной разрядности.