Страница 1 из 2
Работа с утилитой tc2usb
Добавлено: Сб мар 25, 2017 23:23
andrecool
Объясните в чем причина пожалуйста, установил Total Commander 9.0a final (32+64 bit) и решил перенести его на флешку с помощью утилиты tc2usb. Все вроде получилось, потом с флешки скопировал эту портативку на другой раздел жесткого диска ...и Total Commander перестал запускаться, хотя на флешке все работает.
Добавлено: Вс мар 26, 2017 07:05
Avada
andrecool
Ваше последнее действие (простой перенос "портативки" на другой раздел) было ошибочным, это средство для таких манипуляций не предназначено, портабельность созданной копии весьма условна. Лучше вообще не пользоваться этой утилитой, даже самой новой версией 2.1, взятой
отсюда: у неё слишком много неприятных побочных эффектов (её и сам автор не особо-то активно предлагает: см., например,
здесь).
Поищите по
tc2usb на нашем форуме или загляните, например,
сюда (это написано давно, но в основных моментах вполне актуально). А о том, как на самом деле делаются (без сомнительной "автоматизации") портабельные версии, на форуме говорилось предостаточно.
Добавлено: Вс мар 26, 2017 10:38
andrecool
Avada
Основная моя цель это файл запускающий Total Commander из папки который сам выбирает разрядность системы х32 или х64
Добавлено: Вс мар 26, 2017 11:00
Avada
andrecool
Это не может быть основной целью портабельной версии, где самое важное — единство конфигурации и независимость от абсолютных путей. А вам надо, чтобы в любой системе автоматически запускался TC той же битности, так? Лично мне такое желание не очень понятно (на 64-битной системе многие комфортно пользуются 32-битным TC, переключание с TC одной битности на другую выполняется элементарно и на форуме рассмативалось), но это, в конце концов, ваше дело. Другие средства для решения такой цели, помимо этой утилиты, поискать не пробовали? Скрипты, батники? Только обсуждаться сформулированная таким образом задача должна уж явно не в теме по tc2usb и не в "Общих вопросах". К тому же кое-что уже есть:
раз,
два и так далее.
И знаками препинания
не забывайте пользоваться, пожалуйста.
Добавлено: Вс мар 26, 2017 12:02
andrecool
Avada
Скрипты и батники я пробовал, но это не полное решение задачи. Может я не правильно выразился выше, мне хотелось получить эффект работы "Открыть с помощью". Ниже есть пример батника определения разрядности системы и скрипт скрытия окна батника.(я эту пару успешно использую для пакетной установки драйверов и программ после установки чистой установки оси)
Код: Выделить всё
@echo off
if "%PROCESSOR_ARCHITEW6432%"=="AMD64" goto launch64
if "%PROCESSOR_ARCHITECTURE%"=="" set PROCESSOR_ARCHITECTURE=x86
if "%PROCESSOR_ARCHITECTURE%"=="x86" goto launch32
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" goto launch64
goto endorunknwn
:launch32
totalcmd\TOTALCMD.EXE
goto endorunknwn
:launch64
totalcmd\TOTALCMD64.EXE
:endorunknwn
Код: Выделить всё
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "totalcmd.bat" & Chr(34), 0
Set WshShell = Nothing
Добавлено: Вс мар 26, 2017 12:11
Flasher
Добавлено: Вс мар 26, 2017 12:29
andrecool
Flasher
Подскажите пожалуйста куда прописать в этом скрипте TOTALCMD.EXE и TOTALCMD64.EXE с учетом того что скрипт будет находиться в корне папки "totalcmd". Честно говоря я не силен в скриптах.
Добавлено: Вс мар 26, 2017 12:31
Avada
andrecool
Открыть с помощью — это открытие файла в выбранном приложении, у экзешников этой функции нет, так что ваши аналогии мне непонятны. Но, вообще говоря, приведённая выше ссылка есть ответ на ваш запрос.
Другое дело, что скрипт предполагается, ИМХО, запускать из TC или хотя бы при наличии запущенного TC. В противном случае система понятия не будет иметь о специальных переменных типа %COMMANDER_PATH%, а прописывание в скрипте TC c абсолютным путём — это уже никакая не портабельность. Однако корень рабочей папки — тоже вариант...
А прописывать 32-битный экзешник на место Program.exe, разумеется. 64-битный не прописывать никуда. Впрочем, подождите разъяснений по параметрам.
Добавлено: Вс мар 26, 2017 13:43
Flasher
andrecool
Запускайте через ярлык из корня ТС с пустым полем рабочей папки и следующим содежимым поля объекта:
wscript.exe Scripts\Запуск_программы_в_зависимости_от_архитектуры_ОС.vbs TOTALCMD.EXE 1
Scripts\ - папка для скриптов, естественно. Если приспичит кинуть скрипт в корень ТС, то убираем.
Хотя в данном случае проще, конечно, запускать такой скрипт из корня:
Код: Выделить всё
With CreateObject("WScript.Shell")
If .Environment("System")("PROCESSOR_ARCHITECTURE") <> "x86" Then Arch = 64
.Run "TOTALCMD" & Arch & ".EXE"
End With
Добавлено: Вс мар 26, 2017 16:39
andrecool
Flasher
Этот скрипт запускает программу анализируя разрядность системы и не может осуществить эффект "...Открыть с помощью"
У меня есть 7-Zip PortableApps (32+64 bit), и в ней "Открыть с помощью" прекрасно работает. А вот таких оболочек для Total Commander 9.0a (32+64 bit) не могу найти. Единственное что нашел это totalcommanderportablelauncher_7.03.paf по адресу
http://ghisler.fileburst.com/addons/
Но это для старой версии 7.03.
Добавлено: Вс мар 26, 2017 17:04
Flasher
andrecool
Я, так же как и
Avada, не понимаю, о каком эффекте, оболочках и их надобности речь. И как всё это связать с
моя цель это файл запускающий Total Commander из папки который сам выбирает разрядность системы х32 или х64

Выбор разрядности для каких целей, если не для выбора архитектуры самого ТС? Объясните точнее, что требуется.
Добавлено: Вс мар 26, 2017 19:26
Avada
andrecool писал(а):А вот таких оболочек для Total Commander 9.0a (32+64 bit) не могу найти.
Не можете найти, потому что это на самом деле никому не нужно. (Номер версии, для которой вам удалось хоть что-то обнаружить, весьма показателен.) Портабельность TC достигается совсем другими путями, без всяких оболочек и иных извращений. Не тратьте время попусту на ерунду.
Добавлено: Вс мар 26, 2017 20:59
andrecool
Avada писал(а): Портабельность TC достигается совсем другими путями, без всяких оболочек и иных извращений.
Чтобы сохранять настройки в каталоге с программой про это я слышал.
По моей теме можно взять за основу ExplorerPlusPlusPortable_1.3.5.paf и заменить файлы Explorer++ на TOTALCMD и еще заменить пару строчек в файлах. Это все прекрасно работает ...но это как то не по фен-шую
Добавлено: Пн мар 27, 2017 05:40
Avada
andrecool
Что у вас за тема, по-прежнему понять затруднительно. Вы, может быть, всё-таки ответите на вопрос, зачем вообще понадобились эти "эффекты" и "оболочки" у изначально легко превращаемой (но, разумеется, не только с помощью
UseIniInProgramDir=7) в портабельную программы? Что там у вас "прекрасно работает" конкретно в TC так, как нельзя сделать без PAF-файлов и прочей дребедени? Упоминания PortableApps для других программ не проясняют ровным счётом ничего. А желающих разбираться в специфике работы таких самоделок не находилось и раньше (
пример), вряд ли они найдутся теперь.
P.S. Текущая дискуссия, разумеется, имеет мало общего с исходным заглавием " Работа с утилитой tc2usb", но пока — до уяснения всего вышеизложенного — нет возможности её даже нормально переименовать.
Добавлено: Пн мар 27, 2017 10:58
andrecool
Нужен Launcher для Total Commander Portable, с функцией определение разрядности системы. Это как один ярлык для двух *.ЕХЕ, скрипт и батник это не совсем то. Вроде общаемся на одном языке но не понимаем друг друга. Лучше пусть эту тему удалят вообще ...