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, 1633 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...