stevie72
Goto Top

CMD Abfrage ob Drive D vorhanden ist

Guten Morgen zusammen,
ich habe ein Problem mit CMD.
Also: ich möchte eine Abfrage ob in einem Computer ein Drive D verbaut ist.
Wenn Ja dieses verwenden wenn nein soll das Drive C verwendet werden.
Ich finde den Fehler nicht...

set laufwerk=D:

if not exist %laufwerk% goto kein_D
echo "Laufwerk D:\ existiert nicht -> Laufwerk C:\ wird zur Synchronisation verwendet."  
set Drive=C:\
goto Ende_Check

if exist %laufwerk% goto D_da
echo "Laufwerk D:\ existiert. Es wird für die Synchronisation Verwendet."  
set Drive=D:\
goto Ende_Check

:Ende_Check
echo.
echo %Drive% wird verwendet

Content-ID: 93458932940

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

Ausgedruckt am: 25.11.2024 um 09:11 Uhr

Hubert.N
Hubert.N 31.01.2024 aktualisiert um 09:14:54 Uhr
Goto Top
Moin

wenn Du das so wie es ist ausführst, sollte Dir der Fehler schon mal angezeigt werden: Du definierst zwei Sprungziele die in dem Skript nicht vorkommen.

Aber mal nachgefragt:Was ist überhaupt Dein genaues Ziel? Ggf. gibt es bessere Ansätze, die Aufgabenstellung umzusetzen.

Gruß
Penny.Cilin
Penny.Cilin 31.01.2024 um 09:20:50 Uhr
Goto Top
Moin,

Also: ich möchte eine Abfrage ob in einem Computer ein Drive D verbaut ist.
Was ist mit Drive D gemeint?
Sol das eine Festplatte sein?
Sol das eine SSD sein?
Soll das ein Laufwerk sein?
Soll das ein CD/ DVD Laufwerk sein?
...und viele weitere Möglichkeiten...

Gruss Penny.
cwandel
cwandel 31.01.2024 um 09:25:46 Uhr
Goto Top
Ob das in Zeile 3 überhaupt so funktioniert, weiß ich jetzt auf Anhieb nicht, aber mit

fsutil fsinfo drives|find "D:"  
gibt es eine Rückgabe-Zeile, wenn "D:" vorhanden ist, sonst ist die Zeile / der String leer.

oder
wmic logicaldisk get name|find "D:"  
liefert "D:", wenn D: vorhanden, sonst leer
Hubert.N
Hubert.N 31.01.2024 um 09:25:56 Uhr
Goto Top
... das vlt. noch mal in funktionierend?!

@echo off
set laufwerk=D:

if not exist %laufwerk% (
echo "Laufwerk D:\ existiert nicht -> Laufwerk C:\ wird zur Synchronisation verwendet."    
set Drive=C:\
goto Ende_Check
)

if exist %laufwerk% (
echo "Laufwerk D:\ existiert. Es wird für die Synchronisation Verwendet."    
set Drive=D:\
goto Ende_Check
)

:Ende_Check
echo.
echo %Drive% wird verwendet
SlainteMhath
Lösung SlainteMhath 31.01.2024 um 10:07:43 Uhr
Goto Top
Moin,

oder mit DEUTLICH weniger Code:
@echo off
set Drive=D:

if not exist %Drive% (
set Drive=C:
)

set Drive=%Drive%\

echo %Drive% wird verwendet

lg,
Slainte
stevie72
stevie72 31.01.2024 um 10:08:05 Uhr
Goto Top
@Penny.Cilin

ja, Laufwerk D ist eine Harddisk und Laufwerk C ebenfalls.
Wenn Laufwerk D in dem Rechner vorhanden ist dann soll Laufwerk D genommen werden.
Andernfalls Laufwerk C:

@Hubert.N
Ich probiere mal deinen Code aus - melde mich später
stevie72
Lösung stevie72 31.01.2024 um 10:13:14 Uhr
Goto Top
@SlainteMhath

Das ist die Lösung !!
Perfekt vielen vielen Dank!

Grüße,
Stefan