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

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jan 18, 2011 22:24 Post subject: |
|
|
Tol!k
Конечно, можно парсить по "86" и "64" одновременно. Но смысл? Вполне достаточно одного условия. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jan 19, 2011 09:48 Post subject: |
|
|
Flasher wrote: | Что толку от этих нормальных имён для данной задачи, я пока не пойму? | В общем-то, я понял в чём преимущество - будет проще работать с параметрами комстроки, с ключами.
MVV, резон. Не то, чтобы это понадобилось мне, но всё-таки если будет возможность - сделай библиотечку.
Совсем забыл про OS_ARCHITECTURE спросить. На 64 из ТС что у кого показывает?
i1 wrote: | Решил так: создал две папки с именами %PROCESSOR_ARCHITEW6432% и AMD64. В первой лежат файлы x86, во второй — x64. | На x64 будет работать только с камнем AMD, поэтому пока мой вариант предпочтительней. Либо придётся создавать жёсткие ссылки (если флешка в NTFS) с путями ...\Intel64\... и ...\EM64T\... |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1527
|
(Separately) Posted: Wed Jan 19, 2011 12:17 Post subject: |
|
|
Flasher wrote: | MVV, резон. Не то, чтобы это понадобилось мне, но всё-таки если будет возможность - сделай библиотечку. |
Можно, конечно, и и дополнительным плагином, но мне кажется, лучше сделать более универсальный способ. Давно думал добавить в плагин возможность макросов (констант) - т.е. некоторых значений, вычисляемых на каждой системе. Тогда можно будет просто устанавливать переменную окружения встроенной функцией. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jan 19, 2011 12:22 Post subject: |
|
|
Loopback
Ну, так это совсем другой разговор. Займись на досуге.  |
|
Back to top |
|
 |
i1
Joined: 13 Jan 2011 Posts: 34
|
(Separately) Posted: Wed Jan 19, 2011 14:11 Post subject: |
|
|
Flasher wrote: | На x64 будет работать только с камнем AMD, поэтому пока мой вариант предпочтительней. Либо придётся создавать жёсткие ссылки (если флешка в NTFS) с путями ...\Intel64\... и ...\EM64T\... |
Нет, на всех x64 переменная будет равна AMD64, сам сейчас проверил. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jan 19, 2011 14:30 Post subject: |
|
|
i1
Странная переменная, коли так. На Itanium должно быть IA64.
А то, что я просил выше, проверялось?
Last edited by Flasher on Wed Jan 19, 2011 14:34; edited 1 time in total |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Wed Jan 19, 2011 14:31 Post subject: |
|
|
Flasher wrote: | На x64 будет работать только с камнем AMD, поэтому пока мой вариант предпочтительней. |
i1 wrote: | Нет, на всех x64 переменная будет равна AMD64, сам сейчас проверил. |
Не нужно путать тип процессора и архитектуру. Архитектура всех 64-битных систем называется AMD64, т.к. первой её запатентовала (или не помню, как это правильнее сказать) AMD.
Loopback wrote: | Можно, конечно, и и дополнительным плагином, но мне кажется, лучше сделать более универсальный способ. Давно думал добавить в плагин возможность макросов (констант) - т.е. некоторых значений, вычисляемых на каждой системе. Тогда можно будет просто устанавливать переменную окружения встроенной функцией. |
Думаю, эту часть можно оформить в виде отдельного плагина тогда те, кто в ней не нуждается, не будут таскать ее с собой, а тем, кто будет использовать, разницы никакой. Да и обновлять маленькую библиотечку проще, чем большую. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jan 19, 2011 14:40 Post subject: |
|
|
MVV wrote: | Не нужно путать тип процессора и архитектуру. | Я не путаю. Я вижу что показывает переменная, и архитектура моего процесcора не x86, а x86-64. Обрати внимание на значение у Вахмурки, которое соответствует архитектуре оси. И прочти что тут написал CaptainFlint. Как эмуляция может влиять на архитектуру процессора? MVV wrote: | Архитектура всех 64-битных систем называется AMD64, т.к. первой её запатентовала (или не помню, как это правильнее сказать) AMD. | Здесь "т.к." совсем не кстати. По Itanium см. выше. |
|
Back to top |
|
 |
i1
Joined: 13 Jan 2011 Posts: 34
|
(Separately) Posted: Wed Jan 19, 2011 17:04 Post subject: |
|
|
Flasher wrote: | Совсем забыл про OS_ARCHITECTURE спросить. На 64 из ТС что у кого показывает? | Это же не стандартная переменная, а добавляется по скрипту Tol!k, как я понял.
Flasher wrote: | Странная переменная, коли так. На Itanium должно быть IA64. | Да, здесь и сказано, что будет IA64. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jan 19, 2011 18:31 Post subject: |
|
|
i1 wrote: | Это же не стандартная переменная, а добавляется по скрипту Tol!k, как я понял. | Я что-то не могу вспомнить - запускал я его или нет. Вроде бы даже не копировал. Хотя.. i1 wrote: | Да, здесь и сказано, что будет IA64. | Ну, значит не на всех.  |
|
Back to top |
|
 |
i1
Joined: 13 Jan 2011 Posts: 34
|
(Separately) Posted: Wed Jan 19, 2011 18:33 Post subject: |
|
|
Flasher wrote: | Я что-то не могу вспомнить - запускал я его или нет. Вроде бы даже не копировал. Хотя.. | Сейчас попробовал в консоли — "переменная среды не определена". Скрипт не запускал. |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Wed Jan 19, 2011 18:52 Post subject: |
|
|
i1, там какие-то заморочки с .сом-файлами
Попробуй так
Code: | @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 положи рядом |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Wed Jan 19, 2011 20:27 Post subject: |
|
|
Tol!k wrote: | Попробуй так
Code: | @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 wrote: | MVV wrote: | Архитектура всех 64-битных систем называется AMD64, т.к. первой её запатентовала (или не помню, как это правильнее сказать) AMD. | Здесь "т.к." совсем не кстати. По Itanium см. выше. | Да, я имел в виду традиционную архитектуру, IA - это вообще другая песня. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Wed Jan 19, 2011 21:23 Post subject: |
|
|
MVV
setx.exe установит глобальную переменную.
А если что-то дописать после :end (напр. totalcmd.exe) то для него будет действовать локальная |
|
Back to top |
|
 |
Factotum
Joined: 01 Apr 2007 Posts: 22
|
(Separately) Posted: Fri Jan 21, 2011 05:06 Post subject: |
|
|
может я чего не понял, но работает це навернека
Code: | if exist "%ProgramFiles(x86)%" goto WIN64 |
|
|
Back to top |
|
 |
|