Supportnet Computer
Planet of Tech

Supportnet / Forum / WindowsXP

Laufwersvariable





Frage

Hallo Freunde! Hätte da eine eher seltsamere Frage... es geht darum das USB-Laufwerke auf fremden PCS immer wieder andere Laufwerksbuchstaben haben. Und bei Verknüpfungen auf dem USB-Laufwerk, welche sich auf zB. Programme auf eben diesem Laufwerk beziehen, kommts zu dem Problem, daß das Laufwerk auf eben dem "fremden" PC nicht existieren als Beispiel: der USB stick läuft auf meinem Rechner als Laufwerk M: eine Verknüpfung bezieht sich auf M:\FireFox\Firefox.exe nun wenn das USB-Laufwerk auf einem anderen PC läuft, ist der Laufwerksname z.B. E: ... und da liegt der Hase im Pfeffer, die Verknüpfung klappt nicht mehr. Besteht die Möglichkeit, das Laufwerk -von wo die Verknüpfung aufgerufen wird- als Variable einzusetzen? Als Vergleich: %HOMEDRIVE% oder so ... in diese Richtung hätte ich mal überlegt. daß man dem Datenträger einen neuen Laufwerksbuchstaben zuweisen kann, ist mir bewußt, was auch nicht immer klappt oder der Sinn der Sache ist. Bin leider bis jetzt nicht fündig geworden. Vlt habt Ihr ja da eine Idee? LG buzz

Antwort 1 von Ralfman

Eine möglichkeit wäre es mit dem Befehl subst zu Arbeiten.
Das kannst Du mit einer autorun auf dem Stick erledigen.
Du erstellst also eine Textdatei autorun.txt und benennst diese um in autorun.inf
in diese Datei kommt als Text
[AutoRun]
open=laufwerk.cmd

Nun erstellst Du eine Textdatei laufwerk.txt und benennst diese um in laufwerk.cmd
in diese Datei kommt
@echo off
subst Z: \ >nul
pause
exit
UNBEDINGT DIE LÜCKEN BEACHTEN!!!
So bekommt der Stick immer den Laufwerksbuchstaben Z Zugewiesen.

Ralf

Antwort 2 von Ralfman

Die Zeile Pause kannst Du selbstverständlich Entfernen, hatte ich nur zu testzwecken reingeschrieben um eventuell auftretende Fehlermeldungen abzufangen. Sorry.

Ralf

Antwort 3 von Bussard

Hallo Ralf!
Zuerst mal Danke für deine Überlegung.

ein virtuelles Laufwerk zu erstellen - daß das auch unter Win noch klappt,damit rechnete ich nicht.

Nur folgendes Problem:

Die CMD.Datei habe ich erstellt, beim manuellen Aufruf
wird mir das SUBST-Laufwerk auch erstellt
aber leider nicht durch die AUTOSTART.

Das einige Ordnerebenen tieferliegende Symbol für eben dieses Laufwerk wird jedoch ohne Probs als Laufwerkssymbol angezeigt

Hier ist mal die
[AutoRun]
open=laufwerk.cmd
icon=\PC-Data\sys\MMP2400.ico

sogar der Pfad des Icons OHNE Laufwerksangabe wird problemlos übernommen, ob der Stick jetzt Laufwerk E: oder Z: ist

...nur der Aufruf der laufwerk.cmd wird mir leider NOCH nicht übernommen...

Das nur mals als kurze Rückmeldung

Antwort 4 von Ralfman

Ich habs eben noch mal mit 'nem anderen Stick ausprobiert - mit dem selben Ergebnis wie bei Dir auch.
Der Laufwerksbuchstabe wirt nicht Automatisch erstellt.
Ich geh mal davon aus das dieses nicht mit jedem Stick möglich ist. Ich habe hier zwei Unterschiedliche ergebnisse bei Identischen Dateien.
Ein Doppelklick auf die .cmd Datei löst aber das Problem - dann muß der Buchstabe eben durch Starten der Batchdatei zugewiesen werden. Ich werd aber noch ein wenig herumfummeln, und mal sehn ob ich das nicht doch Automatisch auf allen Sticks zum laufen bekomme.

Witziger weise kannst Du als Laufwerksbuchstabe auch B: Vergeben - der ist eigentlich für ein zweites Diskettenlaufwerk reserviert und sollte zu 98% Frei sein.

Arbeite erst mal mit der "krücke" die Batchdatei Manuel zu Starten, wenn ich eine bessere Lösung hab, melde ich mich.

Wenn das ganze auch unter 98 oder ME funktionieren soll, mußt Du aus der .cmd eine .bat machen.

Ralf

Antwort 5 von Seymour

Hi,

Alternativ zum obigen Tipp könntest Du folgendes mal ausprobieren. Das VBScript führt, anstelle einer Verknüpfung, deine Firefox.exe auf einem beliebigen Volumen aus das den Namen TESTSTART trägt.
Ich habs mit der "richtigen" Firefox.exe nicht ausprobiert. Das Ganze ist also mehr als schneller, ev. verbesserungwürdiger "Entwurf" zu sehen.

Gruß Seymour


Set Fso = CreateObject("Scripting.FileSystemObject")
Set Wss = Wscript.CreateObject("Wscript.Shell")

exe=":\firefox\firefox.exe"
volname="TESTSTART"
for a=65 to 90
If fso.DriveExists(chr(a) & ":") Then
Set d = fso.GetDrive(fso.GetDriveName(chr(a) & ":"))
If d.IsReady=-1 then
If fso.fileexists(chr(a) & exe) and d.VolumeName=volname then
runstring=chr(a) & exe
wss.run runstring
end if
end if
end if
next
wsh.quit


Antwort 6 von Bussard

Hallo Seymour!

Herzlichen Dank für Deinen Vorschlag!

Leider ist es nicht nur mit FireFox getan,
es betrifft ja auch andere Verknüpfungen die sich aktiv auf das bestimmte LW beziehen.

Das mit FF war nur als veranschaulichendes Beispiel gedacht.
bei mir handelt es sich um einge Links die sich eben auf dem USB Laufwerk gespeicherten Programmen beziehen.

zB
eine Inet-Seite soll mit FireFox portable aufgerufen werden,
aber auf dem PC wo das USB Laufwerk dran ist, ist kein FF installiert

oder
eine Grafik / Text / Doc -datei soll nicht mit dem am vorhandenen PC standardmäßigen Grafik/ Textverarbeitungsprogramm
sondern mit dem am USB.Drive befindlichen Programm.

Leider läßt sich eine Bezugname auf einen LW-Buschstaben
nicht immer umgehen...

Daher eben auch die Frage nach ev. einer Laufwerks Variable

Trotzdem Danke :-)

@ Ralf
ich hoffe du machst Dir mal nicht allzuviel Arbeit deshalb,
nicht daß ich Dir dein WE vermiese.
bin auch selber am tüfteln, leider noch kein automatischer Erfolg!

Antwort 7 von Ralfman

Schau mal, vieleicht hilft Dir das schon mal weiter.

Ralf

Antwort 8 von Ralfman

Noch einer, aber wie erwähnt bin ich noch 'dran, und bis dahin muß ein Doppelklick auf die .cmd Datei als autorun ersatz herhalten.

Ralf

Antwort 9 von Ralfman

Hi Bussard,
Bearbeite die autorun.inf Folgendermaßen:
[Autorun]
ShellExecute=laufwerk.cmd
label="Mein USB Stick"
action="Batchdatei Starten"
icon=laufwerk.ico
UseAutoplay=1
Na ja, das Icon solltest Du schon deiner Datei Anpassen, und was Du als Label nimmst sollte mir auch egal sein :-) (eigentlich kannst Du damit machen was Du willst)
Das führt zumindest bei WindowsXP (Vista ?) zu einem Befriedigendem Ergebnis.
Der Autostart ist ansonsten mit einem Normalen Stick nicht zu Bewerkstelligen, da muß es schon ein U3 Stick sein, da dieser dem System Vorgaukelt als CD Laufwerk behandelt zu werden.

Ich hoffe Du kommst ein Stückchen weiter damit.

Ralf

Antwort 10 von Bussard

Hallo Ralf!

Ich kann das Ergebnix nur mit einem Wort ausdrücken...
PERFEKT :-)

Nach einer kleinen Anpassung hane ich jetzt nach dem Start der
Batch habe ich jetzt einen absoluten Bezugspunkt

Danke fürs Grübeln

Gruß buzz

PS: Sollten wir uns mal über den Weg laufen, erinnere mich drann daß ich dir ein ( oder mehr) Bierchen ausgebe ;-)

Antwort 11 von Bussard

PS
Sorry für die Vertippser

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Suche in allen vorhandenen Beiträgen: