Laufwerkbuchstabe mit BAT Datei ändern bzw remounten
Liebe Nutzer,
ich möchte mir eine .bat Datei erstellen, die auf meiner Externen liegt und dieser den Laufwerksbuchstaben X zuteilt. Hierzu habe ich mich bereits knapp 2Tage eingelesen und komme leider nicht weiter. Ich brauche dies sowohl für die Arbeits-Externe als auch für meine Private.
Folgende Probleme erschweren das ganze
1. Ich kenne mich leider nicht gut mit cmd aus
2. Der Laufwerksbuchstabe soll bei JEDEM PC "X" sein! (Daher kommt die Windows Datenträgerverwaltung nicht in Frage)
3. Ich kann nicht bei jedem Kumpel/Kunden ein Programm installieren - kommt nicht gut an (USB Drive Letter Manager ist ebenfalls aus dem Rennen)
4. Es ist zu umständlich, bei jedem Anstöpseln, mit dem Programm Remount den Laufwerksbuchstaben zu ändern (wobei das mein Plan B wäre wenns mit der .bat nicht hinhaut)
5. subst x: %~d0\ reicht mir leider nicht, da ich (im Privatgebrauch) keine .exe Datei von Laufwerk X installieren kann
6. Da die .bat Datei auf der Externen liegt, funktioniert das mit mountvol %~d0\ /d und dann mountvol x: \\?\Volume{5a6a3e2d-3a84-11e4-8261-206a8ade7085}\ nicht!
Es scheint mir so, als ob die .bat Datei nicht weiter ausgeführt wird (mounten kann) da die Externe ja bereits ausgeworfen ist und cmd nicht mehr auf die .bat zugreifen kann
Warum das Ganze: Ich habe Kategorien auf der Platte - Da manche Dateien zwei Kategorien entsprechen, will ich sie auch in Beiden drin haben (mit einer Verknüpfung - welche sich nur öffnen lässt, wenn die Platte auf jedem Rechner den gleichen Buchstaben hat) + Mein Programm kann sich die Dateien immer von einem festen Laufwerk holen - Funktioniert aber nur wenn das Laufwerk immer das Gleiche (am liebsten "X") wäre
Bitte helft mir mein Vorhaben zu realisieren. (Da ich mich kaum auskenne wäre es sehr lieb, wenn ein Beispiel oder vllt sogar eine Musterlösung dabei wäre)
Schon mal vielen Dank und einen schönen Abend noch
ich möchte mir eine .bat Datei erstellen, die auf meiner Externen liegt und dieser den Laufwerksbuchstaben X zuteilt. Hierzu habe ich mich bereits knapp 2Tage eingelesen und komme leider nicht weiter. Ich brauche dies sowohl für die Arbeits-Externe als auch für meine Private.
Folgende Probleme erschweren das ganze
1. Ich kenne mich leider nicht gut mit cmd aus
2. Der Laufwerksbuchstabe soll bei JEDEM PC "X" sein! (Daher kommt die Windows Datenträgerverwaltung nicht in Frage)
3. Ich kann nicht bei jedem Kumpel/Kunden ein Programm installieren - kommt nicht gut an (USB Drive Letter Manager ist ebenfalls aus dem Rennen)
4. Es ist zu umständlich, bei jedem Anstöpseln, mit dem Programm Remount den Laufwerksbuchstaben zu ändern (wobei das mein Plan B wäre wenns mit der .bat nicht hinhaut)
5. subst x: %~d0\ reicht mir leider nicht, da ich (im Privatgebrauch) keine .exe Datei von Laufwerk X installieren kann
6. Da die .bat Datei auf der Externen liegt, funktioniert das mit mountvol %~d0\ /d und dann mountvol x: \\?\Volume{5a6a3e2d-3a84-11e4-8261-206a8ade7085}\ nicht!
Es scheint mir so, als ob die .bat Datei nicht weiter ausgeführt wird (mounten kann) da die Externe ja bereits ausgeworfen ist und cmd nicht mehr auf die .bat zugreifen kann
Warum das Ganze: Ich habe Kategorien auf der Platte - Da manche Dateien zwei Kategorien entsprechen, will ich sie auch in Beiden drin haben (mit einer Verknüpfung - welche sich nur öffnen lässt, wenn die Platte auf jedem Rechner den gleichen Buchstaben hat) + Mein Programm kann sich die Dateien immer von einem festen Laufwerk holen - Funktioniert aber nur wenn das Laufwerk immer das Gleiche (am liebsten "X") wäre
Bitte helft mir mein Vorhaben zu realisieren. (Da ich mich kaum auskenne wäre es sehr lieb, wenn ein Beispiel oder vllt sogar eine Musterlösung dabei wäre)
Schon mal vielen Dank und einen schönen Abend noch
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 249760
Url: https://administrator.de/forum/laufwerkbuchstabe-mit-bat-datei-aendern-bzw-remounten-249760.html
Ausgedruckt am: 17.05.2025 um 11:05 Uhr
4 Kommentare
Neuester Kommentar
Hallo,
Danach habe ich nicht mehr Verstanden was du uns sagen willst.
Ich gebe jetzt auf.
Gruß,
Peter
Danach habe ich nicht mehr Verstanden was du uns sagen willst.
die auf meiner Externen liegt
?!? Was ist das?und dieser den Laufwerksbuchstaben X zuteilt.
net use X: \\Server\FreigabenameIch brauche dies sowohl für die Arbeits-Externe als auch für meine Private.
?!? Was willst du uns hiermit sagen? Ich verstehe noch nicht mal mehr Bahnhof...2. JEDEM PC "X" sein! (Daher kommt die Windows Datenträgerverwaltung nicht in Frage)
Bitte erkläre warum die Datenträgerverwaltung nicht in Frage kommt. Gerade wenn ich immer eine bestimmte Freigabe X genannt haben will....3. Ich kann nicht bei jedem Kumpel/Kunden ein Programm installieren - kommt nicht gut an (USB Drive Letter Manager ist ebenfalls aus dem Rennen)
Zusammenhang bitte. Und Kunde = Kumpel oder?4. Es ist zu umständlich, bei jedem Anstöpseln,
Dann stell dir eine / ein Assistent neben dich der für dich die Knöpfe drückt. Nach einmaligen Anlernen ist es gar kein Aufwand mehr....5. subst x: %~d0\ reicht mir leider nicht, da ich (im Privatgebrauch) keine .exe Datei von Laufwerk X installieren kann
Dafür das du von CMD angeblich noch nicht mal etwas Wissen willst....6. Da die .bat Datei auf der Externen liegt
Ja ja, manchmal liegen wir einfach auf die falschen....funktioniert das mit mountvol %~d0\ /d und dann mountvol x:
Woh! Ruhig Brauner...Ich gebe jetzt auf.
Buchstaben hat)
Äh - URL oder FQDN nutzen. Ist immer gleich.....Laufwerk immer das Gleiche (am liebsten "X") wäre
Und wenn manchmal dir ein U für ein X vorgemacht wird?Gruß,
Peter
Hallo Athalax, willkommen im Forum.
Dass Buchstabe X: evtl. bereits für ein anderes Volume verwendet wird, habe ich allerdings nicht abgefangen.
Grüße
rubberman
Es scheint mir so, als ob die .bat Datei nicht weiter ausgeführt wird (mounten kann) da die Externe ja bereits ausgeworfen ist und cmd nicht mehr auf die .bat zugreifen kann
So ist es. Du musst also den Umweg über eine temporäre Datei gehen.@echo off &setlocal
if /i "%~d0" neq "X:" if not defined __relpath__ (
fsutil fsinfo drives|findstr /c:":\\">nul &&(
call :mount
) || (
echo Als Administrator ausfuehren!
pause
)
exit /b
)
echo Hallo Welt von Laufwerk %~d0
pause
exit /b
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:mount
set "__relpath__=%~pnx0"
for /f "tokens=*" %%i in ('mountvol %~d0 /l') do set "__volume__=%%i"
set "__tmpfile__=%temp%\%random%.%random%.bat"
>"%__tmpfile__%" (
echo @echo off ^&setlocal
echo ^>nul ping -n 3 localhost
echo mountvol %~d0 /d
echo mountvol X: %__volume__%
echo start cmd /c "X:%%__relpath__%%"
echo del "%%~f0"
)
start cmd /c "%__tmpfile__%"
exit /b
Grüße
rubberman
Zitat von @Athalax:
P.S: Peter, spare dir solch unnütze Antworten. Andere User haben mein Problem anscheinend schon verstanden. Dir trotzdem noch
einen schönen Sonntag
P.S: Peter, spare dir solch unnütze Antworten. Andere User haben mein Problem anscheinend schon verstanden. Dir trotzdem noch
einen schönen Sonntag
Die Antwort war schon sinnvoll. Auch wenn einer Dein Problem verstanden haben mag, so hast Du doch etwas wirr geschrieben. Es kostet sehr viel Aufwand, zu verstehen, was Du gemeint haben könntest. Du könntest es denen, die Dir helfen wollen es einfacher machen, indem Du das Problem so beschreibst, daß es ein Außenstehender auch ohne Kristallkugelbefrageung sofort versteht.
lks
PS. Ich habe Deine Frage gestern Abend schon gelesen, aber weil das auf einem Mobiltelefon war und die Frage etwas "verwirrend" habe ich mir die Mühe gespart, da noch mehr zu "entziffern" und den Kommentar dazu zu schreiben.