Jump to content

Volume Name per Batch auslesen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen

 

Mit dem Befehl "wmic volume get driveletter, Label" kann man sich den "DriveLetter" und "Label" der Laufwerke anzeigen lassen.

Ich möchte jetzt, wenn das Label z.B. "Windows_os" heisst das er ... tut und wenn das Label "Daten" heisst, was anderes macht und

wenn das Label "Backup" heisst wieder was anderes macht. Wie bekomme ich das hin?

Link zu diesem Kommentar
vor 19 Minuten schrieb Sascha321:
 

 Wie bekomme ich das hin?

Die Frage ist etwas vage. Mit welcher Script-Technologie kennst Du Dich denn genug aus? bzw Wobei genau brauchst Du da Hilfe?

Wenn ich frech sien wollte, würde ich sagen:  ..... mit einem Script!!  ;-)

Wenn ich etwas empfehlen sollte, würde ich Powershell empfehlen.

bearbeitet von BOfH_666
Link zu diesem Kommentar
@ECHO OFF
CLS
set 
for %%G in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  
 set Laufwerksname=wmic volume where DriveLetter^=%%G get Label /value
  
 If Laufwerksname = "Backup" (
  Laufwerksbuchstabe=%%G
  mach was
)
 If Laufwerksname = "Daten" (
  Laufwerksbuchstabe=%%G  
  Mach was anderes
)

 If Laufwerksname = "Windows_os" (
  Laufwerksbuchstabe=%%G
  Mach nichts
)



)

So hatt eich mir das Vorgestellt, aber das klappt hinten und Vorne nicht :-(

Link zu diesem Kommentar

Wenn Du's doch mal mit Powershell probieren möchtest ...

Get-CimInstance -ClassName CIM_LogicalDisk -OutVariable Disks

switch ($Disks.VolumeName) {
	'Backup' {
		    'Befehle für Laufwerksname "Backup"'
		    break
         }
	'Daten' {
		    'Befehle für Laufwerksname "Daten"'
		    break
	    }
	'Windows_os' {
		    'Befehle für Laufwerksname "Windows_os"'
		    break
	    }
	default {
            'Befehle die generell ausgeführt werden'
		    break
	    }
}

 

Link zu diesem Kommentar

Ich will damit eine nach eine Robocopy Starten und da das Sicherungsmedium jedes mal ein anderen Buchstaben hat brauche ich den Buchstaben. Der Buchstabe wird durch den Namen des Sicherungsmedium heraus gefunden.

 

@Sunny61

Verstehe das nicht ganz, da steht Echo ist ausgeschaltet ????

@ECHO OFF
CLS

for %%G in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (

set Laufwerksname=wmic volume where DriveLetter^=%%G get Label /value  

echo %Laufwerksname%
Pause


)

Wenn ich das aber so mache, dann schreibt er mir die Buchstaben hin.

 

@ECHO OFF
CLS

for %%G in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (

set Laufwerksname=wmic volume where DriveLetter^=%%G get Label /value  

echo %%G
Pause


)

 

Link zu diesem Kommentar

Lass doch das Echo off einfach mal weg. Probier einfach mal Stück für Stück. Erst wenn Du einen Buchstaben in der Ausgabe siehst, dann geht es weiter.

 

Ein fertiges Script hätte für dich keinen Lerneffekt, aber genau den Lerneffekt sollst Du bekommen. Außerdem ist Scripting für einen Admin das Handwerkszeug.

 

Falls das Laufwerk das angeschlossen wird, per USB angeschlossen ist, kann man auch mit Hilfe des USB Drive Letter Manager von Uwe Sieber https://www.uwe-sieber.de/usbdlm.html dafür sorgen, dass das LW immer den gleichen Buchstaben bekommt.

 

vor 2 Stunden schrieb Sascha321:

Wenn ich das aber so mache, dann schreibt er mir die Buchstaben hin.

 


@ECHO OFF
CLS

for %%G in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (

set Laufwerksname=wmic volume where DriveLetter^=%%G get Label /value  

echo %%G
Pause


)

 

So funktioniert es? Richtig? Dann hast Du doch schon den ersten Teil der Lösung.

Link zu diesem Kommentar
vor 47 Minuten schrieb Sascha321:

Wieso bekomme ich bei dem "echo %DriveLabel%" keine Ausgabe, es ist doch alles vorhanden

 


rem@echo off
CLS

FOR %%i IN (C D E F G) DO (
  
IF EXIST %%i: (

for /f "tokens=2 delims==" %%a in ('wmic volume where DriveLetter^="%%i:" get Label /value') do (
set "DriveLabel=%%a"
echo %DriveLabel%
)
)
)

pause

 

Ich habe hier das echo off weg gemacht, und es wird auch alles richtig ausgefüllt (variablen) allerdings bekomme ich bei "echo %DriveLabel%" keine ausgabe. Lass den batch doch mal bei dir laufen, dann siehst du was ich meine. Ich habe das Gefühl man kann for schleifen beim batch nicht verschachteln

Link zu diesem Kommentar

Warum man sich 2018 immernoch mit der kruden Syntax von Batch beschäftigt, werde ich einfach nie verstehen. Wenn Du noch eine Weile in Windows-Infrastrukturen unterwegs sein möchtest, solltest Du Dir dringend Powershell mal ansehen. Es führt bei komplexeren Aufgaben quasi kein Weg dran vorbei. Mit Batch/CMD wirst Du ziemlich schnell an Grenzen stoßen.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...