I have scripted FFExist.bat to allow a batch file to determine if a folder is empty, or contains sub-folders, or contains files, or contains both sub-folders and files.

The syntax for using FFExist.bat is:

call ffexist FolderPath Answer


FolderPath is the path to the folder, like "C:\Program Files", and Answer is a call directed environment variable that will be set as follows:

XX - The FolderPath does NOT exist.                              NN - The FolderPath is empty.                              YN - The FolderPath contains sub-folders and does NOT contain files.                              NY - The FolderPath contains files and does NOT contain sub-folders.                              YY - The FolderPath contains both sub-folders and files.
NOTE: If you fail to specify the Answer argument, FFExist.bat displays Syntax: ffexist FolderPath Answer.

NOTE: If you only need to determine if the FolderPath is empty, you could use the following command line:

dir /b /a FolderPath|findstr .>nul:&&(goto :notmt)||(goto :mt)

NOTE: The above command makes use of the findstr wildcard (.) and the conditional processing symbols.

FFExist.bat contains:

@echo off                              if \{%2\}==\{\} @echo Syntax: ffexist FolderPath Answer&goto :EOF                               setlocal                              if not exist %1 endlocal&set %2=XX&goto :EOF                              dir %1 /a|findstr /c:" 0 File">NUL:&&(set file=N)||(set file=Y)                              dir %1 /a|findstr /c:" 2 Dir">NUL:&&(set fold=N)||(set fold=Y)                              endlocal&set %2=%fold%%file%