使用BATCH脚本检查目录中是否存在任何类型的文件

psy*_*cho 30 directory file batch-file

您好我正在寻找一个批处理文件来检查给定文件夹中是否有任何类型的文件.

到目前为止,我已尝试过以下内容

if EXIST FOLDERNAME\\*.* ( echo Files Exist ) ELSE ( echo "Empty" ) 
Run Code Online (Sandbox Code Playgroud)

如果我知道文件扩展名,如下面的txt文件,我可以让它工作

if EXIST FOLDERNAME\\*.txt ( echo Files Exist ) ELSE ( echo "Empty" )
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助

dbe*_*ham 42

检查文件夹是否包含至少一个文件

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

检查文件夹或其任何后代是否至少包含一个文件

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

检查文件夹是否包含至少一个文件或文件夹.
请注意添加/a选项以启用隐藏和系统文件/文件夹的查找.

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

检查文件夹是否包含至少一个文件夹

dir /b /ad "folderName\*" | >nul findstr "^" && (echo Folders exist) || (echo No folder found)
Run Code Online (Sandbox Code Playgroud)

  • 这个巫术是什么? (22认同)

小智 9

对于目录中的文件,您可以使用以下内容:

if exist *.csv echo "csv file found"
Run Code Online (Sandbox Code Playgroud)

要么

if not exist *.csv goto nofile
Run Code Online (Sandbox Code Playgroud)

  • `.csv` 的扩展名并不能保证该条目是一个文件。没有什么可以阻止您创建带有“.csv”或任何其他扩展名的目录。 (2认同)
  • OP 明确声明他们不想测试特定的扩展名,而是测试 _any_ 文件。 (2认同)

Bal*_*i C 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
Run Code Online (Sandbox Code Playgroud)

取自这里.

那应该做你需要的.