2012-05-30 3 views
17

Hallo, ich möchte eine Batch-Datei schreiben, um zu prüfen, ob Dateien irgendeines Typs in einem bestimmten Ordner vorhanden sind.Überprüfen Sie, ob irgendwelche Dateitypen in einem Verzeichnis mit dem BATCH-Skript existieren

Bisher habe ich folgendes versucht

if EXIST FOLDERNAME\\*.* (echo Files Exist) ELSE (echo "Empty") 

ich es bekommen kann zu arbeiten, wenn ich die Datei-Endung wie eine TXT-Datei mit dem follwing

if EXIST FOLDERNAME\\*.txt (echo Files Exist) ELSE (echo "Empty") 

Sie wissen Vielen Dank für Ihre Hilfe

+0

mögliches Duplikat von [Batc h-Skript: Suche, ob ein Ordner Dateien enthält] (http://stackoverflow.com/questions/3922200/batch-script-search-if-a-folder-contains-any-files) – Synetech

Antwort

4

Sie dieses

@echo off 
for /F %%i in ('dir /b "c:\test directory\*.*"') do (
    echo Folder is NON empty 
    goto :EOF 
) 
echo Folder is empty or does not exist 
verwenden können

Entnommen von here.

Das sollte tun, was Sie brauchen.

+0

Funktioniert nicht. "Datei nicht gefunden". Aber es existiert. – Owl

28

Um zu überprüfen, ob ein Ordner enthält mindestens eine Datei

>nul 2>nul dir /a-d "folderName\*" && (echo Files exist) || (echo No file found) 

Um zu überprüfen, ob ein Ordner oder eine ihrer Abkömmlinge mindestens eine Datei enthält

>nul 2>nul dir /a-d /s "folderName\*" && (echo Files exist) || (echo No file found) 

Um zu überprüfen, ob ein Ordner bei enthält mindestens eine Datei oder einen Ordner.
Hinweis Hinzufügen von /a Option, um das Auffinden von versteckten und Systemdateien/Ordnern zu ermöglichen.

dir /b /a "folderName\*" | >nul findstr "^" && (echo Files and/or Folders exist) || (echo No File or Folder found) 

Um zu überprüfen, ob ein Ordner mindestens einen Ordner

dir /b /ad "folderName\*" | >nul findstr "^" && (echo Folders exist) || (echo No folder found) 
+0

+1. 'FIND/V" "' scheint so gut zu funktionieren wie 'FINDSTR "^" '. –

+1

@AndriyM - 'FINDSTR .' funktioniert auch :-) – dbenham

+11

Was ist das Hexenhandwerk ??! – Shawson

8

Für Dateien in einem Verzeichnis enthält, können Sie Dinge wie verwenden:

if exist *.csv echo "csv file found" 

oder

if not exist *.csv goto nofile 
+0

Dies ist nur hilfreich, wenn es nur eine sehr begrenzte Teilmenge von Dateitypen geben kann; und du weißt das sicher; und du weißt, was das ist. Dies ist eine sehr begrenzte Lösung. – user1167442

+0

Eine Erweiterung von '.csv 'garantiert nicht, dass der Eintrag eine Datei ist. Es gibt nichts, was Sie daran hindern könnte, ein Verzeichnis mit einer '.csv' oder einer anderen Erweiterung zu erstellen. – dbenham

Verwandte Themen