Schritt für Schritt: TC auf USB-Stick

German support forum

Moderators: Hacker, Stefan2, white

User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Ja, schon um das "flags=2" beim runas allen zugute kommen zu lassen ;)

(vom autostart mal ganz zuschweigen)

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

Wegen der Größe kann ich nicht viel machen. AutoHotKey packt immer den ganzen Interpreter in die exe.
Sorry, das habe ich wohl irgendwie mißverstanden mit Autohotkey. Versteh ich das jetzt so, daß Du das Programm nicht selbst erstellt hast sondern daß es durch Autohotkey generiert wurde?
Ich müßte mir das Projekt wohl mal anschauen...

Kontaktadresse findest Du auf totalcmd.net ganz unten. Soweit ich weiß, bekommst Du von ihm dann einen Account dort eingerichtet zum Upload, das kann Lefteous aber sicher besser beantworten. :)

Icfu
This account is for sale
hennes
Junior Member
Junior Member
Posts: 12
Joined: 2003-02-19, 12:08 UTC

Post by *hennes »

AutoHotKey ist auch sicher nicht gedacht, größere Programme zu entwickeln (obwohl es einen grafischen GUI Builder gibt :wink: ).
Es ist mehr zur Erledigung kleiner Aufgaben gedacht (hotkeys, ....)
-> Mein Launcher wahr wie gesagt ja auch nur ein Versuch/Test (und weil ich es gerade gebrauchen konnte).

PS (zu Autohotkey).: Wenn man mehrere scripte starten will, solten man alle in eins "packen". (Sonst braucht jedes 2-3MB)

@Lefteous hätte aber auch nichts dagegen, wenn es ein mit Insiderwissen gespicktes LaunchTC 1.04 (2.00?) geben würde :wink: :D
User avatar
ate
Senior Member
Senior Member
Posts: 274
Joined: 2003-12-17, 22:48 UTC

Post by *ate »

Ich würde gerne auch eines der Startprogramme nutzen (am liebsten TCStart oder LaunchTC 1.03). Allerdings möchte ich standardmäßig vor dem Start des TC eine andere EXE starten (dieses Programm liegt auch in einem TC-Unterverzeichnis). Leider kann ich keine zweite Startzeile in den INI-Dateien angeben.

Gibt's dafür irgendeine Lösung, oder muss ich doch auf eine Batch zurückgreifen ?

/edit : @hennes : Die EXE ist die kompilierte Version des Autohotkey-Scriptes, welches standardmäßig nach Drücken von F5 oder F6 die F2 Funktion aktiviert und damit automatisch in die Warteschlange kopiert/verschiebt. An welche Stelle muss ich denn dieses Script in dein AHK-Script einbinden, damit es den TC startet und die gewünschte Funktion bereitstellt ?
Andreas
Power Member
Power Member
Posts: 861
Joined: 2003-08-30, 08:45 UTC
Location: Hannover

Post by *Andreas »

Spricht etwas gegen folgende Methode:
Der TC-Ordner wird komplett auf den Stick kopiert und die TOTALCMD.EXE dann mit dem tollen Multi-Launcher PStart www.pegtop.net gestartet.
Gruß Andreas

Win10 x64 +++ Total Commander 10 +++ Directory Opus 12 +++
Zendo
Power Member
Power Member
Posts: 640
Joined: 2006-10-26, 11:16 UTC

Post by *Zendo »

Hallo ich habe das so gemacht...
TC-Ordner wird komplett auf den Stick kopiert
(Ohne Multi-Launcher PStart) Weis gar nicht was das ist,
und es läuft egal wo.

Habe nicht´s an der ini oder so geändert.

Alles so wie zu Hause.

Hatte ich nur Glück?

Lieben Gruß Win XP Commander
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

Natürlich läuft's, die Frage ist nur, mit welcher INI-Datei... ;)

Wenn es auf dem Zielrechner weder TC-Registryeinträge noch eine wincmd.ini (mit Eintrag UseIniInProgramDir=7) im %COMMANDER_PATH% gibt, noch dem TC sein Startpfad per /i zugewiesen wird, erzeugt TC eine neue wincmd.ini im Windows-Verzeichnis, was nicht Sinn der Sache ist. Du willst ja normalerweise mit den Einstellungen arbeiten, die Du gewohnt bist, nicht ständig neu konfigurieren.

Icfu
This account is for sale
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50550
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Was spricht denn gegen den offiziellen USB-Installer? Dieser installiert auch ein Startprogramm...

http://www.ghisler.com/usbinst.htm
Author of Total Commander
https://www.ghisler.com
Andreas
Power Member
Power Member
Posts: 861
Joined: 2003-08-30, 08:45 UTC
Location: Hannover

Post by *Andreas »

Dass man diverse Sachen noch händisch hinterherkopieren muss, z.B. eigene Icons für die/den Buttonbar. Würde TC2USB das ganze Verzeichnis ziehen, wär's kein Thema.
Gruß Andreas

Win10 x64 +++ Total Commander 10 +++ Directory Opus 12 +++
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

Was spricht denn gegen den offiziellen USB-Installer? Dieser installiert auch ein Startprogramm...
Gegen den Installer spricht nichts, abgesehen davon, daß er beschränkt ist auf den TC und nicht sorgfältig genug arbeitet.

Wenn man sich alleine darauf verläßt, stellt man unterwegs fest, daß sämtliche Tools, Bars, Icons, Tabs, u.a. Verzeichnisse, die man eingebunden hat, nicht mitkopiert wurden. Nicht nur das, auch deren Pfade werden nicht angepaßt, so daß manuelles Nachkopieren alleine nicht ausreicht.

Er ist in der jetzigen Form leider nur für die grobe Ersteinrichtung zu gebrauchen oder für eine TC-Basisinstallation.

Icfu
This account is for sale
Zendo
Power Member
Power Member
Posts: 640
Joined: 2006-10-26, 11:16 UTC

Post by *Zendo »

Natürlich läuft's, die Frage ist nur, mit welcher INI-Datei...

Ich habe beide ini´s im TC Verzeichnis


WinXP Commander
Beste Grüße Zendo.
Als die Talente verteilt wurden,hat man mich in Quarantäne gesteckt.

Windows 10 Pro(x64) Version 22H2 (Build 19045.5371)
AMD Ryzen 9 5950X 16-Core Processor 4.40 GHz 64 GB Ram
Total Commander 11.50 x64
Everything 1.5.0.1391a (x64)
ChristianReiner
Junior Member
Junior Member
Posts: 18
Joined: 2003-10-07, 21:49 UTC

Post by *ChristianReiner »

irgendwie check ich nicht so ganz warum alle das hier so kompliziert machen mit TC am USB-Stick. Ich verwende meinen TC eigentlich nur vom USB-Stick und das schon seit Ewigkeiten ohne die hier beschriebenen Möglichkeiten. Nicht etwa, dass die Ansätze mit relativen Pfaden usw. nicht sehr gut wären, aber warum denn so kompliziert.

Beim Einstecken des USB-Sticks wird die autostart.inf wie bei CDs ausgeführt die folgende Schritte veranläßt:

Code: Select all

for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
if exist %%i:\TC (
 Set LW=%%i
 echo Der USB-Stick ist !LW!
 subst B: !LW!:\TC))
Dann braucht man den TC nur noch so konfigurieren, dass er als absoluten Pfad immer das LW B nimmt und die Konfigurationsdateien in B:\TC liegen und fertig.

Mir ist seit mitte der 90er kein PC mehr untergekommen, bei dem das Laufwerk B wirklich vergeben war.

Das hat nicht nur Vorteile beim TC - ich habe mal abgesehen vom Office und einigen Programmiersprachen nichts mehr am lokalen Rechner installiert. Da aber nicht alle Programme relative Pfade unterstützen, hat sich diese Lösung so angeboten.
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

1. SetLocal EnableDelayedExpansion fehlt, ansonsten mußt Du cmd.exe mit /v:on starten (DelayedExpansion in HKEY_CURRENT_USER\Software\Microsoft\Command Processor tut's natürlich auch, aber das kann man wohl kaum voraussetzen an fremden Rechnern)
2. gibt's für jedes Laufwerk, in dem kein Medium drin ist, z.B. A, eine Fehlermeldung
3. funktioniert die Batch erst ab Windows 2000
4. greift der TC zunächst auf die Konfigdateien aus %windir% zu, wenn dort Schreibrechte vorliegen und nicht auf die im TC-Verzeichnis. Wenn auf dem Zielrechner gar Registryschlüssel eines installierten TCs vorliegen, nutzt Du dessen Daten.
5. gibt es durchaus PCs, auf denen B belegt ist.

Vielleicht erläuterst Du nochmal die Vorteile der Batch gegenüber UseIniInProgramDir=7 und %commander_path%, die sind mir wohl entgangen.

Icfu
This account is for sale
ChristianReiner
Junior Member
Junior Member
Posts: 18
Joined: 2003-10-07, 21:49 UTC

Post by *ChristianReiner »

icfu wrote:1. SetLocal EnableDelayedExpansion fehlt, ansonsten mußt Du cmd.exe mit /v:on starten (DelayedExpansion in HKEY_CURRENT_USER\Software\Microsoft\Command Processor tut's natürlich auch, aber das kann man wohl kaum voraussetzen an fremden Rechnern)
stimmt, da ich nicht die gesamte Batch hier posten wollte, habe ich um 4h in der Früh diese Zeile übersehen
icfu wrote: 2. gibt's für jedes Laufwerk, in dem kein Medium drin ist, z.B. A, eine Fehlermeldung
tut er aber nicht, er produziert lediglich für jeden nicht gefundenen Laufwerksbuchstaben ein %errorlevel% =/= 0, das ist aber vernachlässigbar
icfu wrote: 3. funktioniert die Batch erst ab Windows 2000
Wieso? subst und EnableDelayedExpansion sind schon in DOS 6.22 definiert. Ich muß aber zugeben auf einem Win98 es noch nicht probiert zu haben, auf WINNT4 funktioniert es jedenfalls
icfu wrote: 4. greift der TC zunächst auf die Konfigdateien aus %windir% zu, wenn dort Schreibrechte vorliegen und nicht auf die im TC-Verzeichnis. Wenn auf dem Zielrechner gar Registryschlüssel eines installierten TCs vorliegen, nutzt Du dessen Daten.
Da ich mein Startskript nur Auszugsweise gepostet habe, sollte ich vielleicht nachtragen, dass ich TC mit einigen Kommandozeilenparameter innerhalb des Startskripts starte.
icfu wrote: 5. gibt es durchaus PCs, auf denen B belegt ist.
Dass kann ich wohl nicht entkräften. Ist aber ungefähr gleich wahrscheinlich, dass der Rechner gar keine USB-Schnittstelle hat.
icfu wrote: Vielleicht erläuterst Du nochmal die Vorteile der Batch gegenüber UseIniInProgramDir=7 und %commander_path%, die sind mir wohl entgangen.
Da ich den TC nicht nur als Dateimanager, sondern auch als Startprogramm für hunderte Skripte (vbs,bat,hta...) für die lokale und remote Systemadministration verwende - bei denen ich Parameter aus dem TC übergebe - , die auf viele Befehle zurückgreifen die oftmals am lokalen Rechner nicht installiert sind (bsp.: clusterrecovery.exe, csccmd uva) - müsste ich bei jeder dieser Skripte die Commander_Path Variable auslesen um die Skripte an relative Pfade anzupassen. So kann ich aber einfach überall absolute Pfade verwenden.
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

tut er aber nicht, er produziert lediglich für jeden nicht gefundenen Laufwerksbuchstaben ein %errorlevel% =/= 0, das ist aber vernachlässigbar
Was hat es dann mit dieser Box auf sich?
http://icfu.totalcmd.net/TC/Images/Batch_Kein_Datentraeger.png
[...]EnableDelayedExpansion sind schon in DOS 6.22 definiert.
Auf 9x nicht.
Da ich mein Startskript nur Auszugsweise gepostet habe, sollte ich vielleicht nachtragen, dass ich TC mit einigen Kommandozeilenparameter innerhalb des Startskripts starte.
Tja, viel bleibt von "weniger kompliziert" irgendwie nicht übrig.
Da ich den TC nicht nur als Dateimanager, sondern auch als Startprogramm für hunderte Skripte (vbs,bat,hta...) für die lokale und remote Systemadministration verwende - bei denen ich Parameter aus dem TC übergebe - , die auf viele Befehle zurückgreifen die oftmals am lokalen Rechner nicht installiert sind (bsp.: clusterrecovery.exe, csccmd uva) - müsste ich bei jeder dieser Skripte die Commander_Path Variable auslesen um die Skripte an relative Pfade anzupassen. So kann ich aber einfach überall absolute Pfade verwenden.
Du könntest auch einfach das Laufwerk aus %commander_path% extrahieren und Deine Batches mit absoluten Pfaden unverändert weiter nutzen. Oder Du schiebst Deine Batches einfach in den TC-Ordner und ersetzt alle absoluten Pfade in den Batches durch %commander_path%.

Icfu
This account is for sale
Post Reply