
(vom autostart mal ganz zuschweigen)
sheepdog
Moderators: Hacker, Stefan2, white
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?Wegen der Größe kann ich nicht viel machen. AutoHotKey packt immer den ganzen Interpreter in die exe.
Gegen den Installer spricht nichts, abgesehen davon, daß er beschränkt ist auf den TC und nicht sorgfältig genug arbeitet.Was spricht denn gegen den offiziellen USB-Installer? Dieser installiert auch ein Startprogramm...
Natürlich läuft's, die Frage ist nur, mit welcher INI-Datei...
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))
stimmt, da ich nicht die gesamte Batch hier posten wollte, habe ich um 4h in der Früh diese Zeile übersehenicfu 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)
tut er aber nicht, er produziert lediglich für jeden nicht gefundenen Laufwerksbuchstaben ein %errorlevel% =/= 0, das ist aber vernachlässigbaricfu wrote: 2. gibt's für jedes Laufwerk, in dem kein Medium drin ist, z.B. A, eine Fehlermeldung
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 jedenfallsicfu wrote: 3. funktioniert die Batch erst ab Windows 2000
Da ich mein Startskript nur Auszugsweise gepostet habe, sollte ich vielleicht nachtragen, dass ich TC mit einigen Kommandozeilenparameter innerhalb des Startskripts starte.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.
Dass kann ich wohl nicht entkräften. Ist aber ungefähr gleich wahrscheinlich, dass der Rechner gar keine USB-Schnittstelle hat.icfu wrote: 5. gibt es durchaus PCs, auf denen B belegt ist.
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 wrote: Vielleicht erläuterst Du nochmal die Vorteile der Batch gegenüber UseIniInProgramDir=7 und %commander_path%, die sind mir wohl entgangen.
Was hat es dann mit dieser Box auf sich?tut er aber nicht, er produziert lediglich für jeden nicht gefundenen Laufwerksbuchstaben ein %errorlevel% =/= 0, das ist aber vernachlässigbar
Auf 9x nicht.[...]EnableDelayedExpansion sind schon in DOS 6.22 definiert.
Tja, viel bleibt von "weniger kompliziert" irgendwie nicht übrig.Da ich mein Startskript nur Auszugsweise gepostet habe, sollte ich vielleicht nachtragen, dass ich TC mit einigen Kommandozeilenparameter innerhalb des Startskripts starte.
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%.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.