Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

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

Frage Entwicklung Batch & Shell

Mitglied: synapsenstau

synapsenstau (Level 1) - Jetzt verbinden

23.12.2014 um 19:26 Uhr, 1662 Aufrufe, 7 Kommentare

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
Mitglied: Xaero1982
LÖSUNG 23.12.2014, aktualisiert um 20:02 Uhr
Hi,

wie wäre es mit einem einfachen

01.
if exist "ordnername"
oder einem
01.
if not exist "ordnername" md "ordnername"
Grüße
Bitte warten ..
Mitglied: Meierjo
LÖSUNG 23.12.2014, aktualisiert um 20:02 Uhr
Hallo

IF EXIST C:\TEST\NUL GOTO NODIR

:NODIR
md C:\TEST

Gruss
Bitte warten ..
Mitglied: synapsenstau
23.12.2014 um 20:04 Uhr
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.
Bitte warten ..
Mitglied: rubberman
23.12.2014 um 23:35 Uhr
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
Bitte warten ..
Mitglied: miniversum
24.12.2014, aktualisiert um 11:09 Uhr
Hallo

Eine andere Möglichkeit mit dem Dir Befehl wäre diese:
dir /AD ordnername >NUL 2>NUL || md ordnername

Gruß
...
Bitte warten ..
Mitglied: rubberman
24.12.2014 um 13:15 Uhr
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
Bitte warten ..
Mitglied: miniversum
24.12.2014 um 14:09 Uhr
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.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Bestimmte Daten aus CSV per Windows BATCH Datei in .txt Format schreiben lassen. (9)

Frage von freshman2017 zum Thema Batch & Shell ...

Windows Netzwerk
gelöst Netzwerkpfad per Batch-Datei (6)

Frage von AveiroCR7 zum Thema Windows Netzwerk ...

Batch & Shell
gelöst Batch Datei: ECHO ist ausgeschaltet (OFF) (3)

Frage von twiceface zum Thema Batch & Shell ...

Batch & Shell
gelöst Verlinkung erstellen Batch Datei mit for Schleife (2)

Frage von rusdav zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(7)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Linux
gelöst Google Chrome startet nicht (12)

Frage von Thomas91 zum Thema Linux ...