您好我正在寻找一个批处理文件来检查给定文件夹中是否有任何类型的文件。
到目前为止,我已尝试过以下
if EXIST FOLDERNAME\\*.* ( echo Files Exist ) ELSE ( echo "Empty" )
如果我知道文件扩展名,例如带有以下内容的txt文件,我可以让它工作
if EXIST FOLDERNAME\\*.txt ( echo Files Exist ) ELSE ( echo "Empty" )
感谢您的帮助
答案 0 :(得分:39)
检查文件夹是否包含至少一个文件
>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)
答案 1 :(得分:10)
对于目录中的文件,您可以使用以下内容:
if exist *.csv echo "csv file found"
或
if not exist *.csv goto nofile
答案 2 :(得分:6)
您可以使用此
@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
取自here。
那应该做你需要的。
答案 3 :(得分:0)
滚动您自己的功能。
使用Tree
开关是否支持递归。
另外,允许使用2nd
的文件名,尽管一个很好的答案,但接受的答案却无法解决,这将解决该问题。
这个想法来自https://ss64.com/nt/empty.html
代码内的注释。
;