Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Per Batch die Existenz eines Verzeichnisses prüfen

Frage Entwicklung Batch & Shell

Mitglied: 2P

2P (Level 2) - Jetzt verbinden

06.08.2005, aktualisiert 21.01.2010, 15504 Aufrufe, 5 Kommentare

Hallo!

Ich hänge mal wieder an einer Batchdatei fest.
In dieser will ich prüfen, ob ein bestimmtes Verzeichnis existiert und falls nicht will ich es erstellen. Das soll dann so aussehen:

@echo off
echo Gib an, wo das Verzeichnis ist
echo oder wo es erstellt werden soll.
echo Gib den kompletten Verzeichnispfad an (z.B. C:\Test).
set /p verzeichnis=Verzeichnis:
if exist %verzeichnis%\nul goto istda else goto istnichtda

:fehler
echo war wohl nix...
pause >nul
goto ende

:istda
echo Das Verzeichnis wurde gefunden
pause >nul
goto ende

:istnichtda
md %verzeichnis%
echo Verzeichnis wurde erstellt
pause >nul
goto ende

:ende
exit

Irgendwie will das aber nicht klappen. Es endet immer bei der "Fehlermeldung".
Weiss jmd woran es liegt ?

Danke
Mitglied: n4426
06.08.2005 um 21:01 Uhr
Hallo 2P,

ich habs so gemacht und dann hats funktioniert.

*
@echo off
echo Gib an, wo das Verzeichnis ist
echo oder wo es erstellt werden soll.
echo Gib den kompletten Verzeichnispfad an (z.B. C:\Test).
set /p verzeichnis=Verzeichnis:
if exist %verzeichnis%\nul goto istda
goto istnichtda

:fehler
echo war wohl nix...
pause >nul
goto ende

:istda
echo Das Verzeichnis wurde gefunden
pause >nul
goto ende

:istnichtda
md %verzeichnis%
echo Verzeichnis wurde erstellt
pause >nul
goto ende

:ende
exit

*

mfg

n4426
Bitte warten ..
Mitglied: Biber
06.08.2005 um 22:08 Uhr
Moin 2P,

war schon richtig gedacht von Dir, aber für den CMD-Interpreter nicht deutlich genug.
Bei mehreren Anweisungen in einer Zeile und wegen der Lesbarkeit grundsätzlich auch bei [IF ... ELSE]-Strukturen lieber immer Klammern verwenden.
Statt if exist %verzeichnis%\nul goto istda else goto istnichtda
besser if exist %verzeichnis%\nul (goto istda) else (goto istnichtda)

Das geht dann auch über mehrere Zeilen:
if exist %verzeichnis%\nul (
echo %verzeichnis% existiert schon
) else (
md %verzeichnis%
%verzeichnis% wurde angelegt
)
pause>nuL


Frank / der Biber aus Bremen
Bitte warten ..
Mitglied: 2P
06.08.2005 um 22:20 Uhr
Danke - stimmt - das ist natürlich die einfachste Lösung.
Wäre allerdings schön zu wissen, warum meine Lösung nicht funktionieren will ...

bis dann ...
Bitte warten ..
Mitglied: 2P
06.08.2005 um 22:24 Uhr
Das ist natürlich noch besser.
Du solltest deinen Namen in "Batch-Biber" ändern

nochmal schönes Wochenende und Danke ...
Bitte warten ..
Mitglied: Biber
07.08.2005 um 00:20 Uhr
Na ja, 2P,
ein oder zwei andere Hobbies hab ich schon auch noch gottseidank..
..und meinen Nick hatte ich auch nicht fürs Bätche-Bauen bekommen *gg

Dir auch ein schönes Wochenende
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst In Batch auf Erstelldatum einer Datei prüfen (5)

Frage von AS-N00 zum Thema Batch & Shell ...

Windows 10
gelöst Auf Softwareupdates prüfen (4)

Frage von honeybee zum Thema Windows 10 ...

Windows Server
Verzeichnisse löschen (2)

Frage von MiSt zum Thema Windows Server ...

Neue Wissensbeiträge
Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

(1)

Information von BassFishFox zum Thema Datenschutz ...

Heiß diskutierte Inhalte
Windows Systemdateien
Windows bootet nicht mehr Fehlermeldung 0xc0000098 (19)

Frage von franzgoerlich zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
gelöst 802.1X-Authentifizierung (18)

Frage von Alex29 zum Thema LAN, WAN, Wireless ...

Exchange Server
gelöst Proxy Server Settings Cloud + EWS (17)

Frage von SomebodyToLove zum Thema Exchange Server ...

Windows Server
PDF Editor für den Einsatz auf Terminal Servern (15)

Frage von kwame501 zum Thema Windows Server ...