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-Key: 93458932940

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

Printed on: May 11, 2024 at 21:05 o'clock

Member: Hubert.N
Hubert.N Jan 31, 2024 updated at 08:14:54 (UTC)
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ß
Member: Penny.Cilin
Penny.Cilin Jan 31, 2024 at 08:20:50 (UTC)
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.
Member: cwandel
cwandel Jan 31, 2024 at 08:25:46 (UTC)
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
Member: Hubert.N
Hubert.N Jan 31, 2024 at 08:25:56 (UTC)
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
Member: SlainteMhath
Solution SlainteMhath Jan 31, 2024 at 09:07:43 (UTC)
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
Member: stevie72
stevie72 Jan 31, 2024 at 09:08:05 (UTC)
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
Member: stevie72
Solution stevie72 Jan 31, 2024 at 09:13:14 (UTC)
Goto Top
@SlainteMhath

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

Grüße,
Stefan