Проверьте, существует ли какой-либо тип файлов в каталоге с помощью BATCH script
Здравствуйте, я хочу написать пакетный файл, чтобы проверить, есть ли какие-либо файлы внутри данной папки.
До сих пор я пробовал следующие
if EXIST FOLDERNAME\\*.* ( echo Files Exist ) ELSE ( echo "Empty" )
Я могу заставить его работать, если я знаю расширение файла, например, txt файл с описанием
if EXIST FOLDERNAME\\*.txt ( echo Files Exist ) ELSE ( echo "Empty" )
Спасибо за помощь
Ответы
Ответ 1
Чтобы проверить, содержит ли папка хотя бы один файл
>nul 2>nul dir /a-d "folderName\*" && (echo Files exist) || (echo No file found)
Чтобы проверить, содержит ли папка или любой из ее потомков хотя бы один файл
>nul 2>nul dir /a-d /s "folderName\*" && (echo Files exist) || (echo No file found)
Чтобы проверить, содержит ли папка хотя бы один файл или папку.
Обратите внимание на добавление опции /a
, позволяющей находить скрытые и системные файлы/папки.
dir /b /a "folderName\*" | >nul findstr "^" && (echo Files and/or Folders exist) || (echo No File or Folder found)
Чтобы проверить, содержит ли папка хотя бы одну папку
dir /b /ad "folderName\*" | >nul findstr "^" && (echo Folders exist) || (echo No folder found)
Ответ 2
Для файлов в каталоге вы можете использовать такие вещи, как:
if exist *.csv echo "csv file found"
или
if not exist *.csv goto nofile
Ответ 3
Вы можете использовать этот
@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
Взято из здесь.
Это должно делать то, что вам нужно.