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
Nun erstellst Du eine Textdatei laufwerk.txt und benennst diese um in laufwerk.cmd
in diese Datei kommt
So bekommt der Stick immer den Laufwerksbuchstaben Z Zugewiesen.
Ralf
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.cmdNun erstellst Du eine Textdatei laufwerk.txt und benennst diese um in laufwerk.cmd
in diese Datei kommt
@echo off
subst Z: \ >nul
pause
exitUNBEDINGT 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
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
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
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.icosogar 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
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
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!
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
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
Ralf
Antwort 9 von Ralfman
Hi Bussard,
Bearbeite die autorun.inf Folgendermaßen:
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
Bearbeite die autorun.inf Folgendermaßen:
[Autorun]
ShellExecute=laufwerk.cmd
label="Mein USB Stick"
action="Batchdatei Starten"
icon=laufwerk.ico
UseAutoplay=1Na 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 ;-)
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
Sorry für die Vertippser

