Определение битности системы

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Tol!k
Конечно, можно парсить по "86" и "64" одновременно. Но смысл? Вполне достаточно одного условия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Flasher писал(а):Что толку от этих нормальных имён для данной задачи, я пока не пойму?
В общем-то, я понял в чём преимущество - будет проще работать с параметрами комстроки, с ключами.
MVV, резон. Не то, чтобы это понадобилось мне, но всё-таки если будет возможность - сделай библиотечку. Изображение

Совсем забыл про OS_ARCHITECTURE спросить. На 64 из ТС что у кого показывает?
i1 писал(а):Решил так: создал две папки с именами %PROCESSOR_ARCHITEW6432% и AMD64. В первой лежат файлы x86, во второй — x64.
На x64 будет работать только с камнем AMD, поэтому пока мой вариант предпочтительней. Либо придётся создавать жёсткие ссылки (если флешка в NTFS) с путями ...\Intel64\... и ...\EM64T\...
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):MVV, резон. Не то, чтобы это понадобилось мне, но всё-таки если будет возможность - сделай библиотечку.
Можно, конечно, и и дополнительным плагином, но мне кажется, лучше сделать более универсальный способ. Давно думал добавить в плагин возможность макросов (констант) - т.е. некоторых значений, вычисляемых на каждой системе. Тогда можно будет просто устанавливать переменную окружения встроенной функцией.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback
Ну, так это совсем другой разговор. Займись на досуге. :wink:
i1
Сообщения: 34
Зарегистрирован: Чт янв 13, 2011 19:28

Сообщение i1 »

Flasher писал(а):На x64 будет работать только с камнем AMD, поэтому пока мой вариант предпочтительней. Либо придётся создавать жёсткие ссылки (если флешка в NTFS) с путями ...\Intel64\... и ...\EM64T\...
Нет, на всех x64 переменная будет равна AMD64, сам сейчас проверил.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

i1
Странная переменная, коли так. На Itanium должно быть IA64.
А то, что я просил выше, проверялось?
Последний раз редактировалось Flasher Ср янв 19, 2011 13:34, всего редактировалось 1 раз.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Flasher писал(а):На x64 будет работать только с камнем AMD, поэтому пока мой вариант предпочтительней.
i1 писал(а):Нет, на всех x64 переменная будет равна AMD64, сам сейчас проверил.
Не нужно путать тип процессора и архитектуру. Архитектура всех 64-битных систем называется AMD64, т.к. первой её запатентовала (или не помню, как это правильнее сказать) AMD.

Loopback писал(а):Можно, конечно, и и дополнительным плагином, но мне кажется, лучше сделать более универсальный способ. Давно думал добавить в плагин возможность макросов (констант) - т.е. некоторых значений, вычисляемых на каждой системе. Тогда можно будет просто устанавливать переменную окружения встроенной функцией.
Думаю, эту часть можно оформить в виде отдельного плагина:) тогда те, кто в ней не нуждается, не будут таскать ее с собой, а тем, кто будет использовать, разницы никакой. Да и обновлять маленькую библиотечку проще, чем большую.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):Не нужно путать тип процессора и архитектуру.
Я не путаю. Я вижу что показывает переменная, и архитектура моего процесcора не x86, а x86-64. Обрати внимание на значение у Вахмурки, которое соответствует архитектуре оси. И прочти что тут написал CaptainFlint. Как эмуляция может влиять на архитектуру процессора?
MVV писал(а):Архитектура всех 64-битных систем называется AMD64, т.к. первой её запатентовала (или не помню, как это правильнее сказать) AMD.
Здесь "т.к." совсем не кстати. По Itanium см. выше.
i1
Сообщения: 34
Зарегистрирован: Чт янв 13, 2011 19:28

Сообщение i1 »

Flasher писал(а):Совсем забыл про OS_ARCHITECTURE спросить. На 64 из ТС что у кого показывает?
Это же не стандартная переменная, а добавляется по скрипту Tol!k, как я понял.
Flasher писал(а):Странная переменная, коли так. На Itanium должно быть IA64.
Да, здесь и сказано, что будет IA64.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

i1 писал(а):Это же не стандартная переменная, а добавляется по скрипту Tol!k, как я понял.
Я что-то не могу вспомнить - запускал я его или нет. :? Вроде бы даже не копировал. Хотя..
i1 писал(а):Да, здесь и сказано, что будет IA64.
Ну, значит не на всех. :wink:
i1
Сообщения: 34
Зарегистрирован: Чт янв 13, 2011 19:28

Сообщение i1 »

Flasher писал(а):Я что-то не могу вспомнить - запускал я его или нет. :? Вроде бы даже не копировал. Хотя..
Сейчас попробовал в консоли — "переменная среды не определена". Скрипт не запускал.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

i1, там какие-то заморочки с .сом-файлами
Попробуй так

Код: Выделить всё

@echo off
if defined OS_ARCHITECTURE (set OS_ARCHITECTURE &goto :end)
for /f "tokens=3 delims=:- " %%a in ('systeminfo ^|findstr /rc:"-based PC$"') do (
setx OS_ARCHITECTURE %%a
set OS_ARCHITECTURE=%%a
)
:end
а setx.exe положи рядом
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Tol!k писал(а):Попробуй так

Код: Выделить всё

@echo off
if defined OS_ARCHITECTURE (set OS_ARCHITECTURE &goto :end)
for /f "tokens=3 delims=:- " %%a in ('systeminfo ^|findstr /rc:"-based PC$"') do (
setx OS_ARCHITECTURE %%a
set OS_ARCHITECTURE=%%a
)
:end
а setx.exe положи рядом
А разве возможно передать локальную переменную окружения из окружения процесса в окружение процесса-родителя?
Flasher писал(а):
MVV писал(а):Архитектура всех 64-битных систем называется AMD64, т.к. первой её запатентовала (или не помню, как это правильнее сказать) AMD.
Здесь "т.к." совсем не кстати. По Itanium см. выше.
Да, я имел в виду традиционную архитектуру, IA - это вообще другая песня.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

MVV
setx.exe установит глобальную переменную.
А если что-то дописать после :end (напр. totalcmd.exe) то для него будет действовать локальная
Factotum
Сообщения: 22
Зарегистрирован: Вс апр 01, 2007 12:22
Контактная информация:

Сообщение Factotum »

может я чего не понял, но работает це навернека

Код: Выделить всё

if exist "%ProgramFiles(x86)%" goto WIN64
Ответить