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

Ein Kollege sichert mit Acronis seine HDD auf eine Separate interne Disk. Nun möchte er das die Sicherungen die intern abgelegt sind, noch mit Robocopy auf externe Medien sichern.

Da diese immer wieder einen neuen Laufwerksbuchstaben bekommen, dachte ich mir ich frage die angeschlossenen Laufwerke nach dem Volumenamen ab und bekomme so den aktuellen Laufwerksbuchstaben von dem jeweiligen externen Medium.

Eine frage habe ich trotzdem, ist das nicht möglich was ich vorhabe oder kann es hier auch keiner so richtig?

 

Das wäre ja die Abfrage die ich brauche, nur wie bekomme ich das Ergebnis in eine Variable?

und wie bekomme ich das "Label=" weg?

 

wmic volume where DriveLetter^="C:" get Label /value

Ergebnis:
Label=Windows_OS

 

Link zu diesem Kommentar
vor 13 Minuten schrieb Sascha321:

Eine frage habe ich trotzdem, ist das nicht möglich was ich vorhabe oder kann es hier auch keiner so richtig?

Es ist definitiv möglich. Es gibt mit Sicherheit auch Kollegen hier, die das mit der veralteten und von Microsoft schon seit vielen vielen Jahren nicht weiterentwickelten Technologie cmd/batch können. Ich bleibe aber bei meiner Empfehlung das mit Powershell zu machen - einfacher und leichter zu pflegen, falls nötig.

Link zu diesem Kommentar

Noch mal was :-)

Dieser Code hier funktioniert:

@echo off

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

  echo %DriveLabel%

pause

Wenn ich aber noch mal eine For Schleife darüber lege funktioniert es nicht mehr. Wer findet den Fehler?

 

FOR %%i IN (C D E) DO (

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

  echo %DriveLabel%
)

 

Link zu diesem Kommentar

@BOfH_666

Ich denke mir das Du da recht hast, aber ich mag nicht noch zusätzlich für diese eine Sache Power Shell lernen.

Wenn es wirklich so einfach ist, kannst Du mir dann das Skript nicht machen? Ich zahle auch dafür.

 

Gruss Sascha

@Sunny61

Dieser Ausnahme entnehme ich das ihr auch nicht genau wisst wo der Fehler liegt.

Ich will keine Laufwerke fest vergeben. das führt immer wieder zu ärger.

Link zu diesem Kommentar

Der Teil läuft bei mir:

 

FOR %%i IN (D E) 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%
)
)
)

 If %DriveLabel% == "4GB" (
  echo "Treffer" oder eben dein schlauer Code
	
  
)

 

Da hat bei dir das zweite =-Zeichen gefehlt. Wenn Du mit dem Tool von Uwe Sieber den Buchstaben Z: vergibst, sollte das doch kein Problem darstellen, oder doch? Mit der PS und/oder mit dem Tool von Uwe Sieber hättest Du es schon längst zum Laufen bekommen.

bearbeitet von Sunny61
Link zu diesem Kommentar
vor 43 Minuten schrieb Sascha321:

1.

Ich denke mir das Du da recht hast, aber ich mag nicht noch zusätzlich für diese eine Sache Power Shell lernen.

Wenn es wirklich so einfach ist, kannst Du mir dann das Skript nicht machen? Ich zahle auch dafür.

2.

Dieser Ausnahme entnehme ich das ihr auch nicht genau wisst wo der Fehler liegt.

Ich will keine Laufwerke fest vergeben. das führt immer wieder zu ärger.

Punkt 1 solltest du aber.

Punkt 2 - warum das? Bei mir bekommen die gleichen Geräte auch immer den gleichen LW-Buchstaben...
Und was für Probleme gibt es damit? :eye2:

Link zu diesem Kommentar

Sorry Sunny61

 

Aber wieso sollte ich die Batch Datei als Administrator starten wenn ich die Abfrage als normaler User machen kann und Antwort bekomme.

Wenn Du da schon über Grundlagen reden willst.

Und ich nehme an Du hat den Code nicht getestet, sonst wäre dir aufgefallen, das er erst ab dem zweiten Laufwerk funktioniert. Mir aber sagen das das mit den Berechtigungen zu den Grundlagen gehört und selber nicht merken das die Abfrage mit normalen Userrechten funktioniert.

 

 

Scheint dann doch wohl nicht ganz so einfach zu sein, selbst für Profis

 

bearbeitet von Sascha321
Link zu diesem Kommentar

Das ist mein letzter Kommentar zu diesem Thema.

Sascha321,

Du bekommst hier kostenlose Hilfe für Dein Problem von (meistens) Profis, die Dir immernoch versuchen zu helfen, obwohl Du die mehrfache Empfehlung, statt der veralteten Technologie CMD/Batch doch bitte die Powershell zu benutzen, ausschlägst/ignorierst. Solltest Du das Ganze beruflich machen und in Windows-Infrastrukturen unterwegs sein und nicht kurz vor der Rente stehen, wirst Du nicht mehr lange an Powershell vorbei kommen. Und es wird sich mit absoluter Sicherheit für Dich lohnen.

Ich habe bereits Code gepostet, der mit klitzekleinen Änderungen alles enthält was Du brauchst. Vielleicht spielst Du einfach ein bissl damit. Wenn hier ein bissl guter Wille von Dir erkennbar wird, wird Dir normalerweise so lange geholfen, bis das Problem gelöst ist.

Es bringt Dich nicht weiter, weder beruflich noch persönlich, hier wie ein Kleinkind zu bocken und die Leute, die Dir versuchen zu helfen, jetzt auch noch frech anzuranzen.

Ich wünsche einen schönen Abend.

Link zu diesem Kommentar

@BOfH_666

Nein ich mache das nicht beruflich und werde ich auch nicht mehr können. Ist einiges an Schicksalsschlägen dazwischengekommen. Ich bocke nicht, aber wenn man mich als dumm hin stellt, finde ich das auch nicht die feine Art. Ist schon eine Weile her als ich den MCSA(2003)gemacht habe,  aber trotzdem weiss ich über Berechtigungen Bescheid, aber wenn Sunny61 dann meint, Berechtigungen wären die Grundlagen für Batch Programmierung, dann darf ich sicher auch mal zurück fauchen.
Ich habe hier nicht so dick auf den Putz gehauen und gesagt ist alles kein Problem, das kam aus einer anderen Ecke. Aber das Skript zum laufen zu bringen, ist derjenige ja auch nicht in der Lage.
Ich weiss das Power Shell heute angesagt ist, glaube mir, wenn ich könnte und noch Zeit hätte, hätte ich mich damit auseinandergesetzt.

 

 

 

Link zu diesem Kommentar
vor 15 Stunden schrieb Sascha321:

Sorry Sunny61

 

Aber wieso sollte ich die Batch Datei als Administrator starten wenn ich die Abfrage als normaler User machen kann und Antwort bekomme.

Wenn Du da schon über Grundlagen reden willst.

Und ich nehme an Du hat den Code nicht getestet, sonst wäre dir aufgefallen, das er erst ab dem zweiten Laufwerk funktioniert. Mir aber sagen das das mit den Berechtigungen zu den Grundlagen gehört und selber nicht merken das die Abfrage mit normalen Userrechten funktioniert.

 

 

Scheint dann doch wohl nicht ganz so einfach zu sein, selbst für Profis

 

Ich dachte bei dir läuft der Code nicht? Immer mehr Ungereimtheiten. Ja, der Code den ich gepostet habe, habe ich auch getestet. Und bei mir kam die richtige Antwort raus. Warum das bei dir so ist, weiß ich nicht. Mein Stick hat die Bezeichnung 4GB und den LW-Buchstaben D:\ im Dateisystem. 

 

Aber egal, lass stecken. Ich werde dich nicht mehr lesen, insofern hast Du Ruhe vor mir. Leb wohl.

 

EDIT: Niemand hat dich als dumm hingestellt. Du interpretierst ungeschriebenes in geschriebenes hinein. Und ich habe auch nicht Berechtigungen als Grundlage für Batch Programmierung angeprangert. Und nein, auch das gäbe dir kein Recht zu fauchen, da dich niemand angefaucht hat.

bearbeitet von Sunny61
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...