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

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ä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 Batch um mehrere IP-Adressen via Ping auf Erreichbarkeit zu prüfen (5)

Frage von Galindiesel zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel: Text in Zellbereich prüfen mit Vergleichstext ggf. mit Exact-Funktion (5)

Frage von Michi1 zum Thema Microsoft Office ...

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