synapsenstau
Goto Top

Batch-Datei soll überprüfen ob ein Verzeichnis vorhanden ist

Moin,

wie bringe ich bitte einer Batch-Datei bei, das sie "schaut" ob ein Verzeichnis vorhanden ist und wenn nicht soll es erstellt werden?
Genauer gesagt weiß ich nicht, wie ich die Ausgabe von "dir" in ein "if" verpackt kriege.

Danke für eure mühen

Content-Key: 258371

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

Printed on: April 19, 2024 at 10:04 o'clock

Member: Xaero1982
Solution Xaero1982 Dec 23, 2014 updated at 19:02:24 (UTC)
Goto Top
Hi,

wie wäre es mit einem einfachen

if exist "ordnername"  

oder einem
if not exist "ordnername" md "ordnername"  

Grüße
Member: Meierjo
Solution Meierjo Dec 23, 2014 updated at 19:02:26 (UTC)
Goto Top
Hallo

IF EXIST C:\TEST\NUL GOTO NODIR

:NODIR
md C:\TEST

Gruss
Member: synapsenstau
synapsenstau Dec 23, 2014 at 19:04:50 (UTC)
Goto Top
Ich danke euch für die schnelle Hilfe. Klar das es so geht. Habe mal wieder viel zu kompliziert gedacht und bin von der Linux-Shell verwöhnt.
Member: rubberman
rubberman Dec 23, 2014 at 22:35:49 (UTC)
Goto Top
Hallo Zusammen.

Die Lösung von @Xaero1982 funktioniert, aber hat die Schwäche dass auch eine Datei "ordnername" existieren könnte und somit ein falsches Ergebnis liefert.

@Meierjo hat eine alte Technik ausgegraben und falsch interpretiert. Das virtuelle Gerät NUL konnte auf DOS aufgesetzten Windowsversionen dazu benutzt werden um Verzeichnisse zu detektieren, da es in jedem Verzeichnis vorhanden war. Ich erinnere mich, dass das unter XP nicht mehr funktioniert hatte. Auf meiner Win7 Kiste scheint es aber wieder korrekte Ergebnisse zu liefern. Wie auch immer, die Logik ist falsch da das Schlüsselwort NOT fehlt.

Um Verzeichnisse von Dateien zu trennen, sollte man einen Backslash anhängen, á la
if not exist "ordnername\" md "ordnername"

Grüße
rubberman
Member: miniversum
miniversum Dec 24, 2014 updated at 10:09:56 (UTC)
Goto Top
Hallo

Eine andere Möglichkeit mit dem Dir Befehl wäre diese:

Gruß
...
Member: rubberman
rubberman Dec 24, 2014 at 12:15:19 (UTC)
Goto Top
Hi miniversum,

den Fehlerfall abzufragen ist dann aber auch schon wieder doppelter Aufwand. MD selbst läuft auch nur auf Fehler, falls das Verzeichnis bereits existiert. Es wird nichts neu erstellt oder überschrieben. Bei Inkaufnahme von Fehlern und der Unterdrückung der Meldung reicht ein
2>nul md "ordnernahme"

Grüße
rubberman
Member: miniversum
miniversum Dec 24, 2014 at 13:09:01 (UTC)
Goto Top
Das ist richtig. Aber existiert das Verschreichnis bereits dann wird es angezeigt.
Das wäre dann evtl. störend und würde bei einem Verzeischnis mit vielen Dateien länger dauern.
Hotly discussed
AlexWishaHow to set up and configure a Linux GRE tunnelAlexWisha - 3 CommentsjstrickerWIREGUARD VPN ON UDM PRO BEHIND FRITZBOX - HANDSHAKE DID NOT COMPLETEjstricker - 3 CommentsgleixnerdCheck of ZFW Firewallgleixnerd - 2 CommentsDaniEnd of Support dates for Office 2016, 2019 Apps und Productivity ServersDani - 1 Comment