# [Batch]Überprüfen, ob im Ordner Dateien vorhanden sind



## PhReAkAzOiD (14. Februar 2005)

Hallo,

möchte mit Batch überprfen ob im z.B. D:\Temp Dateien vorhanden sind. Habe es mit:


```
dir D:\Temp | find "0 Bytes"
echo ExitCode: %ERRORLEVEL%
```

versucht, liefert aber irgendwie keinen ERRORLEVEL zurück.


----------



## Erpel (15. Februar 2005)

```
if exist "c:\ordner\*" (
	goto case1
	) else (
	goto case2
	)
```

Damit kannst du das sehr einfach realisieren.
Grüße erpel

Edit: Oder auch nicht. . und .. sind in jedem Ordner vorhanden und das Programm wertet diese ebenfalls als Dateien.
Sorry mein Fehler.


----------



## MCIglo (15. Februar 2005)

goto's sind immer so ne Sache.
Machen einen Code sehr schnell sehr unübersichtlich.
Du kannst statt den goto's auch deine Anweisungen in die Klammern schreiben.


----------



## PhReAkAzOiD (16. Februar 2005)

Hallo Erpel, ich habe es jetzt nicht ganz verstanden...geht es oder geht es nicht? Also bei mir will es nicht    


```
if exist "D:\Temp2\*.*" (
	goto Case1
	) else (
	goto Case2
	)

:case1
	echo Daten verfuegbar
	dir D:\Temp2
	exit /b

:case2
	echo Keine Daten verfuegbar
	dir D:\Temp2
```

MCIglo, danke für den Tipp und die leckeren Fischstäbchen!   
Probiere weiter rum und hoffe auf Unterstützung!


----------



## PhReAkAzOiD (18. Februar 2005)

Ich habe es immer noch nicht geschafft...jetzt habe ich folgendes ausprobiert:


```
if exist "C:\ordner\*.*" goto Case1
if not exist "C:\ordner\*.*" goto Case2
```

Geht aber auch nicht   
Kann mir Jemand noch einen Tipp geben!?


----------



## MCIglo (18. Februar 2005)

```
if exist "%systemroot%\profiles\all users\desktop\" goto service
echo blub
:service
echo moep
```
Auch wenn ich gesagt habe, dass GoTo's nicht toll sind. Auf Grund der Masse an Anweisungen habe ich auch eine *.bat mit GoTo.
Und die funktioniert einwandfrei unter NT4 - 5.3 


\edit: Kann es vielleicht sien, dass versteckte Datein in dem Ordner liegen?


----------



## uploader (19. Februar 2005)

```
set count=0
for %%i in (D:\Temp\*) do set /a count+=1
if "%count%"=="0" goto nix
goto was
```

Damit sollte es gehen, weist dann sogar die Anzahl der Dateien. Funktioniert leiden nicht, wenn nur Unterordner mit Dateien im Spiel sind.


----------



## PhReAkAzOiD (21. Februar 2005)

Wow, uploader Das ist richtig cool! Und gar nicht so kompliziert! Vielen, vielen Dank! Habe zwischen zeitlich eine nicht elegante Lösung gehabt:


```
copy d:\ordner\*.* NUL
if errorlevel 1 goto NoData
```

Vielen Dank nochmals!


----------



## Mafutrct (22. Februar 2005)

Hey Respekt, der Trick mit dem copy nach NUL ist genial! Da wäre ich beim besten Willen nicht drauf gekommen.


----------

