Добавлено: Вт янв 18, 2011 21:24
Tol!k
Конечно, можно парсить по "86" и "64" одновременно. Но смысл? Вполне достаточно одного условия.
Конечно, можно парсить по "86" и "64" одновременно. Но смысл? Вполне достаточно одного условия.
Форум поддержки пользователей Total Commander
https://forum.wincmd.ru/
В общем-то, я понял в чём преимущество - будет проще работать с параметрами комстроки, с ключами.Flasher писал(а):Что толку от этих нормальных имён для данной задачи, я пока не пойму?

На x64 будет работать только с камнем AMD, поэтому пока мой вариант предпочтительней. Либо придётся создавать жёсткие ссылки (если флешка в NTFS) с путями ...\Intel64\... и ...\EM64T\...i1 писал(а):Решил так: создал две папки с именами %PROCESSOR_ARCHITEW6432% и AMD64. В первой лежат файлы x86, во второй — x64.
Можно, конечно, и и дополнительным плагином, но мне кажется, лучше сделать более универсальный способ. Давно думал добавить в плагин возможность макросов (констант) - т.е. некоторых значений, вычисляемых на каждой системе. Тогда можно будет просто устанавливать переменную окружения встроенной функцией.Flasher писал(а):MVV, резон. Не то, чтобы это понадобилось мне, но всё-таки если будет возможность - сделай библиотечку.
Нет, на всех x64 переменная будет равна AMD64, сам сейчас проверил.Flasher писал(а):На x64 будет работать только с камнем AMD, поэтому пока мой вариант предпочтительней. Либо придётся создавать жёсткие ссылки (если флешка в NTFS) с путями ...\Intel64\... и ...\EM64T\...
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 писал(а):Это же не стандартная переменная, а добавляется по скрипту Tol!k, как я понял.
Ну, значит не на всех.i1 писал(а):Да, здесь и сказано, что будет IA64.
Сейчас попробовал в консоли — "переменная среды не определена". Скрипт не запускал.Flasher писал(а):Я что-то не могу вспомнить - запускал я его или нет.Вроде бы даже не копировал. Хотя..
Код: Выделить всё
@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