Batch Partitionsname abfragen
Hallo,
Ich schreibe gerade an einer umfassenden Batchdatei und suche nun eine simple Lösung für mein Proble,.
Ich will mir die Laufswerkbeschreibung (Volumename) usgeben lassen.
Erst habe ich probiert es über eine For schleife zu regeln die in jeder verfügbaren Partition eine txt erstellt und dann damit prüft ob di ePartition verhoanden ist und welchen namen sie hat. Aber dies funktionierte nicht wirklich gut.
Vorhin habe ich endeckt das man wenn man nur dir c angibt den Name der Parition erhält , witzigerweiße funktioniert das immer nur für Laufwerk C bei mir :D. Ich hoffe ihr könnt mir helfen.
Im übrigen geht es bei mir auch in Powershell aber es muss eisnchließlich nur in Batch laufen. Ich habe auch schon die dafür zugehörige WMI klasse gefunden aber wie gesagt ich kome nich tweiter.
Ich schreibe gerade an einer umfassenden Batchdatei und suche nun eine simple Lösung für mein Proble,.
Ich will mir die Laufswerkbeschreibung (Volumename) usgeben lassen.
Erst habe ich probiert es über eine For schleife zu regeln die in jeder verfügbaren Partition eine txt erstellt und dann damit prüft ob di ePartition verhoanden ist und welchen namen sie hat. Aber dies funktionierte nicht wirklich gut.
Vorhin habe ich endeckt das man wenn man nur dir c angibt den Name der Parition erhält , witzigerweiße funktioniert das immer nur für Laufwerk C bei mir :D. Ich hoffe ihr könnt mir helfen.
Im übrigen geht es bei mir auch in Powershell aber es muss eisnchließlich nur in Batch laufen. Ich habe auch schon die dafür zugehörige WMI klasse gefunden aber wie gesagt ich kome nich tweiter.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 16.11.2011 um 16:45:08 Uhr
Verschoben von "Ich glaube, es ist Windows" nach "Batch & Shell"
Content-ID: 176349
Url: https://administrator.de/contentid/176349
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
8 Kommentare
Neuester Kommentar
... nutze mal Doppelpunkte, du wirst überrascht sein, dass du gar nicht wechseln musst :P
Namen herausfiltern geht fix:
mal so als schnelles prompt-Beispiel (sollte man eventuell anpassen, wenn noch andere Treffer in den sechsten-Token-Bereich kommen)
greetz André
Namen herausfiltern geht fix:
@for /f "tokens=6" %i in ('dir d:') do @echo %i
greetz André
Moin sandrob,
ergänzend zu Skyes Hinweisen und damit sich dieser Beitrag nicht unnötig lange hinzieht....
Kurze Demo am CMD-Prompt
[weil es neulich Missverständnisse gab: es ist EIN Befehl und der beginnt mit "FOR %a" und endet mit "^>%j" ]
Grüße
Biber
ergänzend zu Skyes Hinweisen und damit sich dieser Beitrag nicht unnötig lange hinzieht....
Kurze Demo am CMD-Prompt
[weil es neulich Missverständnisse gab: es ist EIN Befehl und der beginnt mit "FOR %a" und endet mit "^>%j" ]
d:\temp>FOR %a IN ( b c d e f g h y ) DO @FOR /F "tokens=5,*" %i IN ('dir %a: ^2^>nul ^|findstr /i /C:"%a: "') DO @echo %a ---^> %j
b ---> keine Bezeichnung.
c ---> SYSTEM
d ---> DATA
g ---> keine Bezeichnung.
h ---> HARDCORE
y ---> keine Bezeichnung.
Grüße
Biber
Moin Sandro,
ich hatte am CMD-Prompt rumgealbert - dort funktionieren die Laufvariablen mit einem Prozentzeichen (also als %a, ...%i, %j ).
In einem Batch müssen vor Laufvariablen jeweils deren zwei angegeben werden (also %%a, ...%%i, %%j ).
Und wenn du ein explizites "@echo off " deinem Batch vorangestellt hast, dann benötigst du auch keine weiteren "@"-Zeichen.
Es bleibt (ungetestet) in etwa übrig:
Grüße
Biber
ich hatte am CMD-Prompt rumgealbert - dort funktionieren die Laufvariablen mit einem Prozentzeichen (also als %a, ...%i, %j ).
In einem Batch müssen vor Laufvariablen jeweils deren zwei angegeben werden (also %%a, ...%%i, %%j ).
Und wenn du ein explizites "@echo off " deinem Batch vorangestellt hast, dann benötigst du auch keine weiteren "@"-Zeichen.
Es bleibt (ungetestet) in etwa übrig:
@echo off
FOR %%a IN ( b c d e f g h y ) DO (
FOR /F "tokens=5,*" %%i IN ('dir %a: ^2^>nul ^|findstr /i /C:"%%a: "') DO (
echo %%a ---^> %%j
))
REM ..... und danach dein oben angegebener umfangreicher Batch
REM ....
pause
Grüße
Biber