hannsgmaulwurf
Goto Top

Laufwerksbuchstaben für Partition vergeben CMD BATCH

Kommandozeilenbefehl bzw. Tool unter/für Windows, um einer Partition einen Laufwerksbuchstaben zuzuweisen?

Hallo!

Unter Windows 7 werden FAT Partitionen nicht automatisch erkannt und mit einem Laufwerksbuchstaben versehen. Dies muss manuell über die Datenträgerverwaltung vorgenommen werden...
Kennt jemand einen Befehl für die Kommandozeiel oder aber ein kleines Tool, mit dessen Hilfe man einer "laufwerksbuchstaben-losen" Partition einen Laufwerksbuchstaben zuweisen kann?
Zum Beispiel "comand 1:3 X" (Festplatte 1 Partition 3 --> Laufwerksbuchstabe X) oder so? Da es sich in meinem Fall immer um eine Partition mit dem gleichen Volumenamen handelt, wäre auch eine Zuweisung des Buchstaben über den Namen der Partition denkbar. Der CMD-Befehl "diskpart" (http://www.microsoft.com/resources/documentation/windows/xp/all/proddoc ..) erschien mir recht vielversprechend, konnte mir aber leider nicht weiterhelfen - vielleich lag's ja auch weniger am Befehl als viel mehr an... ähm... mir?! face-smile
Ich bin für jeden Tip dankbar.

Vielen Dank und beste Grüße!

Content-Key: 144193

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

Printed on: April 19, 2024 at 20:04 o'clock

Mitglied: 77559
77559 Jun 04, 2010 at 17:37:27 (UTC)
Goto Top
Vielleicht hilft dir ja der USB DLM weiter.

Gruß
LotPings
Member: bastla
bastla Jun 04, 2010 at 17:41:52 (UTC)
Goto Top
... oder doch "diskpart" - völlig ungetestet etwa so:
@echo off & setlocal
set "VolName=Volume-Name"  
set "Letter=X"  

set "Script=%temp%\DiskpartScript.txt"  
>%Script% echo list volume
set "VolNr="  
for /f "tokens=2" %%i in ('diskpart /s %Script%^|findstr /i "%VolName%"') do set /a VolNr=%%i  
if not defined VolNr (echo Volume "%VolName%" nicht gefunden! & pause & goto :eof)  
if %VolNr%==0 (echo VolNr nicht gefunden! & pause & goto :eof)

> %Script% echo select volume %VolNr%
>>%Script% echo assign letter=%Letter%
diskpart /s %Script%
Der Name der Partition ist in Zeile 2 einzutragen. Ich habe vorausgesetzt, dass der Name nicht auch als Bestandteils des Namens einer anderen Partition vorkommt (also etwa: gesuchte Partition "Sich", weitere Partitionen "SicherungA", "SicherungB").

Die in Zeile 10 vorgenommene Einschränkung auf Volumes mit einer Nummer <> 0 soll vor allem die Verarbeitung abbrechen, wenn fäschlich ein nicht-numerischer Wert als Nummer des Volumes ausgelesen wurde.

Grüße
bastla
Mitglied: 77559
77559 Jun 04, 2010 at 18:32:05 (UTC)
Goto Top
Hallo bastla,

das so schön und sicher aufzusetzen war ich heute zu faul - die Idee hatte ich auch ....
Wenn ich mich nicht täusche schlägt leider die UAC zu, also am Besten den Batch von vornherein als Administrator starten.

Gruß
LotPings
Member: hannsgmaulwurf
hannsgmaulwurf Jun 05, 2010 at 11:01:35 (UTC)
Goto Top
Zitat von @77559:
Vielleicht hilft dir ja der USB DLM weiter.
Danke für den Tip, auf der Website bin ich bei meinen Recherchen auch schon gelandet, war aber davon ausgegangen, dass das Tool nur für Partitionen/Laufwerke mit bereits zugewiesenem Lauchwerksbuchstaben gedacht ist. Und da ich gern mit Boardmitteln von Windows arbeiten würde, habe ich das Tool auch nicht getestet - sollte ich ja doch vielleicht mal face-smile

Zitat von @bastla:
... oder doch "diskpart" - völlig ungetestet etwa so:
@echo off & setlocal
> set "VolName=Volume-Name"  
> set "Letter=X"  
> 
> set "Script=%temp%\DiskpartScript.txt"  
> >%Script% echo list volume
> set "VolNr="  
> for /f "tokens=2" %%i in ('diskpart /s %Script%^|findstr /i "%VolName%"') do set /a VolNr=%%i  
> if not defined VolNr (echo Volume "%VolName%" nicht gefunden! & pause & goto :eof)  
> if %VolNr%==0 (echo VolNr nicht gefunden! & pause & goto :eof)
> 
> > %Script% echo select volume %VolNr%
> >>%Script% echo assign letter=%Letter%
> diskpart /s %Script%
> 
Der Name der Partition ist in Zeile 2 einzutragen. Ich habe vorausgesetzt, dass der Name nicht auch als Bestandteils des Namens
einer anderen Partition vorkommt (also etwa: gesuchte Partition "Sich", weitere Partitionen "SicherungA",
"SicherungB").

Die in Zeile 10 vorgenommene Einschränkung auf Volumes mit einer Nummer <> 0 soll vor allem die Verarbeitung
abbrechen, wenn fäschlich ein nicht-numerischer Wert als Nummer des Volumes ausgelesen wurde.

Grüße
bastla
Vielen Dank für deine Mühe bastla!! Werde das direkt mal testen und berichten. Vielen vielen Dank!! face-smile

Zitat von @77559:
Wenn ich mich nicht täusche schlägt leider die UAC zu, also am Besten den Batch von vornherein als Administrator starten
Da UAC für diese (und weitere) Aktionen sowieso temporär deaktiviert wird, sollte es da keine Probleme geben - hoffe ich face-smile

Besten Dank euch beiden für die tatkräftige Unterstützung!!
Schönes Wochenende!!
Member: hannsgmaulwurf
hannsgmaulwurf Jun 07, 2010 at 10:54:46 (UTC)
Goto Top
Hallo bastla,
leider wird nur die Fehlermeldung aus Zeile 9 ausgegeben - "Volume "abc" nicht gefunden!". Habe es mit verschiedenen Partitionen versucht, leider ohne Erfolg.
Danke für deine Hilfe und schöne Grüße.
Member: bastla
bastla Jun 07, 2010 at 21:08:02 (UTC)
Goto Top
Hallo hannsgmaulwurf!

Hast Du den Batch aus einer mit Admin-Rechten gestarteten CMD-Shell ("cmd" im Suchfeld mit Strg-Alt-Eingabe bestätigt) getestet?

Um besser nachvollziehen zu können, was so in diesem Batch passiert, einfach das "echo off" auf "echo on" ändern ...

... bzw von Hand aus dieser Shell "diskpart" aufrufen und den Befehl "list volume" eingeben (wieder raus geht's übrigens mit "exit").

Grüße
bastla
Member: hannsgmaulwurf
hannsgmaulwurf Jun 08, 2010 at 08:15:38 (UTC)
Goto Top
Hallo bastla,
als Admin ausführen hat geklappt face-smile Nun muss ich nur noch einen Weg finden, das ganze ohne Benutzereingabe ausführen zu lassen...
Danke vielmals für deine Hilfe!!