Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Системная переменная, зависимая от разрядности ОС 
Author Message
MVV



PostPosted: Tue Feb 12, 2013 22:43    Post subject: Reply with quote

Mellomann,
Можно тупо:
Code:
if exist "%SystemRoot%\SysWOW64" ...

Ещё вариант - определить несколько коротких переменных, задающих различия путей к 32-битному экзешнику от пути к 64-битному, например:
Code:
If %SYSINFO_OSARCH% = 64 Then
   SetEnv X64 X64.
Else
   SetEnv X64 .
EndIf

А в кнопке:
Code:
...\RegWorkshop\RegWorkshop%X64%exe

Проблема тут в том, что переменная должна быть непустой, иначе она тупо не раскроется. Можно вообще целиком путь к экзешнику в переменную запихивать и в кнопке просто переменную прописывать.
Code:
If %SYSINFO_OSARCH% = 64 Then
   SetEnv COMMANDER_RegWorkshop ...\RegWorkshop\RegWorkshopX64.exe
Else
   SetEnv COMMANDER_RegWorkshop ...\RegWorkshop\RegWorkshop.exe
EndIf

Code:
%COMMANDER_RegWorkshop%

_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
View user's profile Send private message ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group