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

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, 15264 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 Mittels Batch jede Zeile einer Textdatei prüfen (4)

Frage von Peter32 zum Thema Batch & Shell ...

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 ...

Neue Wissensbeiträge
Windows Server

Netzwerkfehler bei HyperV - Host

Anleitung von Scrises zum Thema Windows Server ...

Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (56)

Frage von pjrtvly zum Thema Internet ...

Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

LAN, WAN, Wireless
gelöst IP Adressen - Modem - Switch - Accesspoint (22)

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

Windows Server
Upgrade von Win Server 2008 auf 2012 gescheitert (19)

Frage von Ghost108 zum Thema Windows Server ...