athalax
Goto Top

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) face-smile

Schon mal vielen Dank und einen schönen Abend noch

Content-Key: 249760

Url: https://administrator.de/contentid/249760

Printed on: April 26, 2024 at 08:04 o'clock

Member: Pjordorf
Pjordorf Sep 20, 2014 at 21:12:22 (UTC)
Goto Top
Hallo,

Zitat von @Athalax:
ich möchte mir eine .bat Datei erstellen,
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\Freigabename

Ich 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
Member: rubberman
Solution rubberman Sep 20, 2014, updated at Sep 21, 2014 at 06:19:35 (UTC)
Goto Top
Hallo Athalax, willkommen im Forum.

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
Dass Buchstabe X: evtl. bereits für ein anderes Volume verwendet wird, habe ich allerdings nicht abgefangen.

Grüße
rubberman
Member: Athalax
Athalax Sep 21, 2014 at 06:18:05 (UTC)
Goto Top
Wow, Rubberman!!

Du bist mein Held. Alles eingefügt, die .bat als Administrator ausgeführt (habe bereits in anderen Foren gelesen, dass sich das Öffnen als Admin nicht automatisieren lässt) face-smile und es läuft!

Vielen lieben Dank face-smile


P.S: Peter, spare dir solch unnütze Antworten. Andere User haben mein Problem anscheinend schon verstanden. Dir trotzdem noch einen schönen Sonntag
Member: Lochkartenstanzer
Lochkartenstanzer Sep 21, 2014 updated at 09:53:12 (UTC)
Goto Top
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

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.