Страница 5 из 5

Добавлено: Пт янв 21, 2011 04:44
Flasher
Factotum
Было.

Добавлено: Пт янв 21, 2011 12:55
MVV
Tol!k писал(а):setx.exe установит глобальную переменную.
Ха, тогда да. Но без прав администратора, или без повышения на Windows 7, толку с неё будет зеро.

Добавлено: Чт фев 24, 2011 17:44
putinvovik
Хочу создать ярлык на батник (и как бы написать этот батник), чтоб в 64-битной системе ТС запускался из под другого ini-файла, написанного специально под 64-битную систему.
Конечно не обессудьте за чайниковский вопрос. Я ношу ТС на флешке, которую приходится втыкать в разные компы с разными системами.
Если кто поможет - респект, а то я пытался - что-то не так всё равно получается.
:?:

Добавлено: Чт фев 24, 2011 17:50
i1
putinvovik,
Параметр командной строки, может подойдёт такой способ:
/i=имя.ini — Указывает, что вместо wincmd.ini, для сохранения настроек следует использовать другой INI-файл имя.ini

Добавлено: Чт фев 24, 2011 17:52
Batya
putinvovik писал(а):Если кто поможет - респект, а то я пытался - что-то не так всё равно получается.
А чем не устраивают предложенные выше варианты? Например, такой? Здесь прописывай свою строку запуска.

Добавлено: Чт фев 24, 2011 19:22
putinvovik
ОК
Я делал примерно вот так:

If exist %programfiles(x86)%
( start /wait "бла-бла-х64.exe")
elseif (exist "%programfiles% and not %programfiles(x86)%) (start /wait "бла-бла-x86.exe" )
else ()

Последнюю строку else () оставил на всякий случай для того, чтоб что-то прописать для запуска из-под wine под линуксом.

Не могу понять ошибаюсь ли, ну завтра дома буду - на 64-битной системе проверю и отпишусь

Добавлено: Чт фев 24, 2011 19:25
putinvovik
i1 писал(а):putinvovik,
Параметр командной строки, может подойдёт такой способ:
/i=имя.ini — Указывает, что вместо wincmd.ini, для сохранения настроек следует использовать другой INI-файл имя.ini
А это и так понятно

Добавлено: Чт фев 24, 2011 21:43
Flasher
putinvovik
Если не править значение переменной, то можно таким скриптом воспользоваться:
' Запуск TC с настройками, заточенными под архитектуру ОС
'==================================================
With CreateObject("WScript.Shell")
TC=.ExpandEnvironmentStrings("%COMMANDER_PATH%\")
If Len(.ExpandEnvironmentStrings("%ProgramFiles(X86)%"))=19 Then
.Run """" & TC & "totalcmd.exe"" /i=""" & TC & "ConfigFiles\Wincmd_32.ini"""
Else .Run """" & TC & "totalcmd.exe"" /i=""" & TC & "ConfigFiles\Wincmd_64.ini"""
End If
End With
ConfigFiles - папка в корне ТС.

Добавлено: Ср июн 22, 2011 07:05
GGS
Тоже столкнулся с необходимостью определения битности ОС, сделал так (Test.bat):

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

@echo OFF
IF "%ProgramW6432%"=="" (echo 32) ELSE echo 64
pause
На Win7 работает правильно. У кого есть дугие ОС 32/64 проверьте пожалуйста.

Добавлено: Ср июн 22, 2011 13:04
CaptainFlint
GGS
Это работает, только если запускать через 32-битный cmd.exe. 64-битный говорит "32".
Имеет смысл вместо %ProgramW6432% проверять %ProgramFiles(x86)%, эта переменная определена в обоих окружениях.

PS: Проверял на WinXP x64.