View previous topic :: View next topic |
Author |
Message |
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
putinvovik
Joined: 10 Jul 2009 Posts: 15
|
(Separately) Posted: Thu Feb 24, 2011 18:44 Post subject: |
|
|
Хочу создать ярлык на батник (и как бы написать этот батник), чтоб в 64-битной системе ТС запускался из под другого ini-файла, написанного специально под 64-битную систему.
Конечно не обессудьте за чайниковский вопрос. Я ношу ТС на флешке, которую приходится втыкать в разные компы с разными системами.
Если кто поможет - респект, а то я пытался - что-то не так всё равно получается.
|
|
Back to top |
|
|
i1
Joined: 13 Jan 2011 Posts: 34
|
(Separately) Posted: Thu Feb 24, 2011 18:50 Post subject: |
|
|
putinvovik,
Параметр командной строки, может подойдёт такой способ:
Quote: | /i=имя.ini — Указывает, что вместо wincmd.ini, для сохранения настроек следует использовать другой INI-файл имя.ini |
|
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Thu Feb 24, 2011 18:52 Post subject: |
|
|
putinvovik wrote: | Если кто поможет - респект, а то я пытался - что-то не так всё равно получается. |
А чем не устраивают предложенные выше варианты? Например, такой? Здесь прописывай свою строку запуска. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
putinvovik
Joined: 10 Jul 2009 Posts: 15
|
(Separately) Posted: Thu Feb 24, 2011 20:22 Post subject: |
|
|
ОК
Я делал примерно вот так:
If exist %programfiles(x86)%
( start /wait "бла-бла-х64.exe")
elseif (exist "%programfiles% and not %programfiles(x86)%) (start /wait "бла-бла-x86.exe" )
else ()
Последнюю строку else () оставил на всякий случай для того, чтоб что-то прописать для запуска из-под wine под линуксом.
Не могу понять ошибаюсь ли, ну завтра дома буду - на 64-битной системе проверю и отпишусь |
|
Back to top |
|
|
putinvovik
Joined: 10 Jul 2009 Posts: 15
|
(Separately) Posted: Thu Feb 24, 2011 20:25 Post subject: |
|
|
i1 wrote: | putinvovik,
Параметр командной строки, может подойдёт такой способ:
Quote: | /i=имя.ini — Указывает, что вместо wincmd.ini, для сохранения настроек следует использовать другой INI-файл имя.ini |
|
А это и так понятно |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Feb 24, 2011 22:43 Post subject: |
|
|
putinvovik
Если не править значение переменной, то можно таким скриптом воспользоваться:
Quote: | ' Запуск 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 - папка в корне ТС. |
|
Back to top |
|
|
GGS
Joined: 02 May 2009 Posts: 322
|
(Separately) Posted: Wed Jun 22, 2011 07:05 Post subject: |
|
|
Тоже столкнулся с необходимостью определения битности ОС, сделал так (Test.bat):
Code: | @echo OFF
IF "%ProgramW6432%"=="" (echo 32) ELSE echo 64
pause |
На Win7 работает правильно. У кого есть дугие ОС 32/64 проверьте пожалуйста. |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Wed Jun 22, 2011 13:04 Post subject: |
|
|
GGS
Это работает, только если запускать через 32-битный cmd.exe. 64-битный говорит "32".
Имеет смысл вместо %ProgramW6432% проверять %ProgramFiles(x86)%, эта переменная определена в обоих окружениях.
PS: Проверял на WinXP x64. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
|