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

Совсем забыл про OS_ARCHITECTURE спросить. На 64 из ТС что у кого показывает?
На x64 будет работать только с камнем AMD, поэтому пока мой вариант предпочтительней. Либо придётся создавать жёсткие ссылки (если флешка в NTFS) с путями ...\Intel64\... и ...\EM64T\...i1 писал(а):Решил так: создал две папки с именами %PROCESSOR_ARCHITEW6432% и AMD64. В первой лежат файлы x86, во второй — x64.
Можно, конечно, и и дополнительным плагином, но мне кажется, лучше сделать более универсальный способ. Давно думал добавить в плагин возможность макросов (констант) - т.е. некоторых значений, вычисляемых на каждой системе. Тогда можно будет просто устанавливать переменную окружения встроенной функцией.Flasher писал(а):MVV, резон. Не то, чтобы это понадобилось мне, но всё-таки если будет возможность - сделай библиотечку.
i1
Странная переменная, коли так. На Itanium должно быть IA64.
А то, что я просил выше, проверялось?
Странная переменная, коли так. На Itanium должно быть IA64.
А то, что я просил выше, проверялось?
Последний раз редактировалось Flasher Ср янв 19, 2011 13:34, всего редактировалось 1 раз.
Flasher писал(а):На x64 будет работать только с камнем AMD, поэтому пока мой вариант предпочтительней.
Не нужно путать тип процессора и архитектуру. Архитектура всех 64-битных систем называется AMD64, т.к. первой её запатентовала (или не помню, как это правильнее сказать) AMD.i1 писал(а):Нет, на всех x64 переменная будет равна AMD64, сам сейчас проверил.
Думаю, эту часть можно оформить в виде отдельного плагина:) тогда те, кто в ней не нуждается, не будут таскать ее с собой, а тем, кто будет использовать, разницы никакой. Да и обновлять маленькую библиотечку проще, чем большую.Loopback писал(а):Можно, конечно, и и дополнительным плагином, но мне кажется, лучше сделать более универсальный способ. Давно думал добавить в плагин возможность макросов (констант) - т.е. некоторых значений, вычисляемых на каждой системе. Тогда можно будет просто устанавливать переменную окружения встроенной функцией.
Я не путаю. Я вижу что показывает переменная, и архитектура моего процесcора не x86, а x86-64. Обрати внимание на значение у Вахмурки, которое соответствует архитектуре оси. И прочти что тут написал CaptainFlint. Как эмуляция может влиять на архитектуру процессора?MVV писал(а):Не нужно путать тип процессора и архитектуру.
Здесь "т.к." совсем не кстати. По Itanium см. выше.MVV писал(а):Архитектура всех 64-битных систем называется AMD64, т.к. первой её запатентовала (или не помню, как это правильнее сказать) AMD.
Это же не стандартная переменная, а добавляется по скрипту Tol!k, как я понял.Flasher писал(а):Совсем забыл про OS_ARCHITECTURE спросить. На 64 из ТС что у кого показывает?
Да, здесь и сказано, что будет IA64.Flasher писал(а):Странная переменная, коли так. На Itanium должно быть IA64.
i1, там какие-то заморочки с .сом-файлами
Попробуй так
а setx.exe положи рядом
Попробуй так
Код: Выделить всё
@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
А разве возможно передать локальную переменную окружения из окружения процесса в окружение процесса-родителя?Tol!k писал(а):Попробуй така setx.exe положи рядомКод: Выделить всё
@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
Да, я имел в виду традиционную архитектуру, IA - это вообще другая песня.Flasher писал(а):Здесь "т.к." совсем не кстати. По Itanium см. выше.MVV писал(а):Архитектура всех 64-битных систем называется AMD64, т.к. первой её запатентовала (или не помню, как это правильнее сказать) AMD.
может я чего не понял, но работает це навернека
Код: Выделить всё
if exist "%ProgramFiles(x86)%" goto WIN64