Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,2 @@
---
from: http://rosettacode.org/wiki/Empty_directory

View file

@ -0,0 +1,5 @@
Starting with a path to some directory, determine whether the directory is empty.
An empty directory contains no files nor subdirectories.
With [[Unix]] or [[Windows]] systems, every directory contains an entry for “<code>.</code>” and almost every directory contains “<code>..</code>” (except for a root directory); an empty directory contains no other entries.

View file

@ -0,0 +1,4 @@
I fs:list_dir(input()).empty
print(empty)
E
print(not empty)

View file

@ -0,0 +1,23 @@
; this routine attempts to remove the directory and returns an error code if it cannot.
mov ax,seg dirname ;load into AX the segment where dirname is stored.
mov ds,ax ;load the segment register DS with the segment of dirname
mov dx,offset dirname ;load into DX the offset of dirname
mov ah,39h ;0x39 is the interrupt code for remove directory
int 21h ;sets carry if error is encountered. error code will be in AX.
;If carry is clear the remove was successful
jc error
mov ah,4Ch ;return function
mov al,0 ;required return code
int 21h ;return to DOS
error: ;put your error handler here
mov ah,4Ch ;return function
mov al,0 ;required return code
int 21h ;return to DOS
dirname db "GAMES",0

View file

@ -0,0 +1,32 @@
# returns TRUE if the specified directory is empty, FALSE if it doesn't exist or is non-empty #
PROC is empty directory = ( STRING directory )BOOL:
IF NOT file is directory( directory )
THEN
# directory doesn't exist #
FALSE
ELSE
# directory is empty if it contains no files or just "." and possibly ".." #
[]STRING files = get directory( directory );
BOOL result := FALSE;
FOR f FROM LWB files TO UPB files
WHILE result := files[ f ] = "." OR files[ f ] = ".."
DO
SKIP
OD;
result
FI # is empty directory # ;
# test the is empty directory procedure #
# show whether the directories specified on the command line ( following "-" ) are empty or not #
BOOL directory name parameter := FALSE;
FOR i TO argc DO
IF argv( i ) = "-"
THEN
# marker to indicate directory names follow #
directory name parameter := TRUE
ELIF directory name parameter
THEN
# have a directory name - report whether it is emty or not #
print( ( argv( i ), " is ", IF is empty directory( argv( i ) ) THEN "empty" ELSE "not empty" FI, newline ) )
FI
OD

View file

@ -0,0 +1,37 @@
# syntax: GAWK -f EMPTY_DIRECTORY.AWK
BEGIN {
n = split("C:\\TEMP3,C:\\NOTHERE,C:\\AWK\\FILENAME,C:\\WINDOWS",arr,",")
for (i=1; i<=n; i++) {
printf("'%s' %s\n",arr[i],is_dir(arr[i]))
}
exit(0)
}
function is_dir(path, cmd,dots,entries,msg,rec,valid_dir) {
cmd = sprintf("DIR %s 2>NUL",path) # MS-Windows
while ((cmd | getline rec) > 0) {
if (rec ~ /[0-9]:[0-5][0-9]/) {
if (rec ~ / (\.|\.\.)$/) { # . or ..
dots++
continue
}
entries++
}
if (rec ~ / Dir\(s\) .* bytes free$/) {
valid_dir = 1
}
}
close(cmd)
if (valid_dir == 0) {
msg = "does not exist"
}
else if (valid_dir == 1 && entries == 0) {
msg = "is an empty directory"
}
else if (dots == 0 && entries == 1) {
msg = "is a file"
}
else {
msg = sprintf("is a directory with %d entries",entries)
}
return(msg)
}

View file

@ -0,0 +1,24 @@
with Ada.Text_IO; use Ada.Text_IO;
with Ada.Directories;
procedure EmptyDir is
function Empty (path : String) return String is
use Ada.Directories;
result : String := "Is empty.";
procedure check (ent : Directory_Entry_Type) is begin
if Simple_Name (ent) /= "." and Simple_Name (ent) /= ".." then
Empty.result := "Not empty";
end if;
end check;
begin
if not Exists (path) then return "Does not exist.";
elsif Kind (path) /= Directory then return "Not a Directory.";
end if;
Search (path, "", Process => check'Access);
return result;
end Empty;
begin
Put_Line (Empty ("."));
Put_Line (Empty ("./empty"));
Put_Line (Empty ("./emptydir.adb"));
Put_Line (Empty ("./foobar"));
end EmptyDir;

View file

@ -0,0 +1,3 @@
emptyDir?: function [folder]-> empty? list folder
print emptyDir? "."

View file

@ -0,0 +1,7 @@
MsgBox % isDir_empty(A_ScriptDir)?"true":"false"
isDir_empty(p) {
Loop, %p%\* , 1
return 0
return 1
}

View file

@ -0,0 +1,17 @@
IF FNisdirectoryempty("C:\") PRINT "C:\ is empty" ELSE PRINT "C:\ is not empty"
IF FNisdirectoryempty("C:\temp") PRINT "C:\temp is empty" ELSE PRINT "C:\temp is not empty"
END
DEF FNisdirectoryempty(dir$)
LOCAL dir%, sh%, res%
DIM dir% LOCAL 317
IF RIGHT$(dir$)<>"\" dir$ += "\"
SYS "FindFirstFile", dir$+"*", dir% TO sh%
IF sh% = -1 ERROR 100, "Directory doesn't exist"
res% = 1
REPEAT
IF $$(dir%+44)<>"." IF $$(dir%+44)<>".." EXIT REPEAT
SYS "FindNextFile", sh%, dir% TO res%
UNTIL res% == 0
SYS "FindClose", sh%
= (res% == 0)

View file

@ -0,0 +1,18 @@
FUNCTION check$(dir$)
IF FILEEXISTS(dir$) THEN
RETURN IIF$(LEN(WALK$(dir$, 127, ".+", FALSE)), " is NOT empty.", " is empty." )
ELSE
RETURN " doesn't exist."
ENDIF
ENDFUNCTION
dir$ = "bla"
PRINT "Directory '", dir$, "'", check$(dir$)
dir$ = "/mnt"
PRINT "Directory '", dir$, "'", check$(dir$)
dir$ = "."
PRINT "Directory '", dir$, "'", check$(dir$)

View file

@ -0,0 +1,30 @@
@echo off
if "%~1"=="" exit /b 3
set "samp_path=%~1"
set "tst_var="
%== Store the current directory of the CMD ==%
for /f %%T in ('cd') do set curr_dir=%%T
%== Go to the samp_path ==%
cd %samp_path% 2>nul ||goto :folder_not_found
%== The current directory is now samp_path ==%
%== Scan what is inside samp_path ==%
for /f "usebackq delims=" %%D in (
`dir /b 2^>nul ^& dir /b /ah 2^>nul`
) do set "tst_var=1"
if "%tst_var%"=="1" (
echo "%samp_path%" is NOT empty.
cd %curr_dir%
exit /b 1
) else (
echo "%samp_path%" is empty.
cd %curr_dir%
exit /b 0
)
:folder_not_found
echo Folder not found.
exit /b 2

View file

@ -0,0 +1,16 @@
#include <iostream>
#include <boost/filesystem.hpp>
using namespace boost::filesystem;
int main(int argc, char *argv[])
{
for (int i = 1; i < argc; ++i) {
path p(argv[i]);
if (exists(p) && is_directory(p))
std::cout << "'" << argv[i] << "' is" << (!is_empty(p) ? " not" : "") << " empty\n";
else
std::cout << "dir '" << argv[i] << "' could not be found\n";
}
}

View file

@ -0,0 +1,19 @@
using System;
using System.IO;
class Program
{
static void Main( string[] args )
{
foreach ( string dir in args )
{
Console.WriteLine( "'{0}' {1} empty", dir, IsDirectoryEmpty( dir ) ? "is" : "is not" );
}
}
private static bool IsDirectoryEmpty( string dir )
{
return ( Directory.GetFiles( dir ).Length == 0 &&
Directory.GetDirectories( dir ).Length == 0 );
}
}

View file

@ -0,0 +1,40 @@
#include <stdio.h>
#include <dirent.h>
#include <string.h>
int dir_empty(const char *path)
{
struct dirent *ent;
int ret = 1;
DIR *d = opendir(path);
if (!d) {
fprintf(stderr, "%s: ", path);
perror("");
return -1;
}
while ((ent = readdir(d))) {
if (!strcmp(ent->d_name, ".") || !(strcmp(ent->d_name, "..")))
continue;
ret = 0;
break;
}
closedir(d);
return ret;
}
int main(int c, char **v)
{
int ret = 0, i;
if (c < 2) return -1;
for (i = 1; i < c; i++) {
ret = dir_empty(v[i]);
if (ret >= 0)
printf("%s: %sempty\n", v[i], ret ? "" : "not ");
}
return 0;
}

View file

@ -0,0 +1,6 @@
(require '[clojure.java.io :as io])
(defn empty-dir? [path]
(let [file (io/file path)]
(assert (.exists file))
(assert (.isDirectory file))
(-> file .list empty?))) ; .list ignores "." and ".."

View file

@ -0,0 +1,7 @@
fs = require 'fs'
is_empty_dir = (dir) ->
throw Error "#{dir} is not a dir" unless fs.statSync(dir).isDirectory()
# readdirSync does not return . or ..
fns = fs.readdirSync dir
fns.length == 0

View file

@ -0,0 +1,3 @@
(defun empty-directory-p (path)
(and (null (directory (concatenate 'string path "/*")))
(null (directory (concatenate 'string path "/*/")))))

View file

@ -0,0 +1,12 @@
import std.stdio, std.file;
void main() {
auto dir = "somedir";
writeln(dir ~ " is empty: ", dirEmpty(dir));
}
bool dirEmpty(string dirname) {
if (!exists(dirname) || !isDir(dirname))
throw new Exception("dir not found: " ~ dirname);
return dirEntries(dirname, SpanMode.shallow).empty;
}

View file

@ -0,0 +1,28 @@
program Empty_directory;
{$APPTYPE CONSOLE}
uses
System.SysUtils,
System.IOUtils;
function IsDirectoryEmpty(dir: string): Boolean;
var
count: Integer;
begin
count := Length(TDirectory.GetFiles(dir)) + Length(TDirectory.GetDirectories(dir));
Result := count = 0;
end;
var
i: Integer;
const
CHECK: array[Boolean] of string = (' is not', ' is');
begin
if ParamCount > 0 then
for i := 1 to ParamCount do
Writeln(ParamStr(i), CHECK[IsDirectoryEmpty(ParamStr(i))], ' empty');
Readln;
end.

View file

@ -0,0 +1,2 @@
path = hd(System.argv)
IO.puts File.dir?(path) and Enum.empty?( File.ls!(path) )

View file

@ -0,0 +1,2 @@
open System.IO
let isEmptyDirectory x = (Directory.GetFiles x).Length = 0 && (Directory.GetDirectories x).Length = 0

View file

@ -0,0 +1,2 @@
USE: io.directories
: empty-directory? ( path -- ? ) directory-entries empty? ;

View file

@ -0,0 +1,43 @@
' FB 1.05.0 Win64
#Include "dir.bi"
Function IsDirEmpty(dirPath As String) As Boolean
Err = 0
' check dirPath is a valid directory
Dim As String fileName = Dir(dirPath, fbDirectory)
If Len(fileName) = 0 Then
Err = 1000 ' dirPath is not a valid path
Return False
End If
' now check if there are any files/subdirectories in it other than . and ..
Dim fileSpec As String = dirPath + "\*.*"
Const attribMask = fbNormal Or fbHidden Or fbSystem Or fbDirectory
Dim outAttrib As UInteger
fileName = Dir(fileSpec, attribMask, outAttrib) ' get first file
Do
If fileName <> ".." AndAlso fileName <> "." Then
If Len(fileName) = 0 Then Return True
Exit Do
End If
fileName = Dir ' get next file
Loop
Return False
End Function
Dim outAttrib As UInteger
Dim dirPath As String = "c:\freebasic\docs" ' known to be empty
Dim empty As Boolean = IsDirEmpty(dirPath)
Dim e As Long = Err
If e = 1000 Then
Print "'"; dirPath; "' is not a valid directory"
End
End If
If empty Then
Print "'"; dirPath; "' is empty"
Else
Print "'"; dirPath; "' is not empty"
End If
Print
Print "Press any key to quit"
Sleep

View file

@ -0,0 +1,44 @@
include "NSLog.incl"
local fn DirectoryContents( url as CFURLRef ) as CFArrayRef
CFArrayRef contents = fn FileManagerContentsOfDirectoryAtURL( url, NULL, NSDirectoryEnumerationSkipsHiddenFiles )
if ( contents == NULL )
NSLog(@"Unable to get contents of directory \"%@\".",fn URLLastPathComponent(url))
end if
end fn = fn ArrayValueForKey( contents, @"lastPathComponent" )
void local fn DoIt
CFURLRef dirURL, fileURL
CFArrayRef contents
dirURL = fn URLFileURLWithPath( fn StringByExpandingTildeInPath( @"~/Desktop/docs" ) )
if ( fn FileManagerCreateDirectoryAtURL( dirURL, YES, NULL ) )
contents = fn DirectoryContents( dirURL )
if ( contents )
NSLog(@"Directory \"docs\" \b")
if ( len(contents) )
NSLog(@"contents:\n%@",contents)
else
NSLog(@"is empty.")
end if
NSLog(@"")
fileURL = fn URLFileURLWithPath( fn StringByExpandingTildeInPath( @"~/Desktop/docs/output.txt" ) )
if (fn FileManagerCreateFileAtURL( fileURL, NULL, NULL ) )
contents = fn DirectoryContents( dirURL )
NSLog(@"Directory \"docs\" \b")
if ( len(contents) )
NSLog(@"contents:\n%@",contents)
else
NSLog(@"is empty.")
end if
end if
end if
end if
end fn
fn DoIt
HandleEvents

View file

@ -0,0 +1,12 @@
Public Sub Main()
Dim sFolder As String = User.home &/ "Rosetta"
Dim sDir As String[] = Dir(sFolder)
Dim sTemp As String
Dim sOutput As String = sfolder & " is NOT empty"
Try sTemp = sDir[0]
If Error Then sOutput = sfolder & " is empty"
Print sOutput
End

View file

@ -0,0 +1,27 @@
package main
import (
"fmt"
"io/ioutil"
"log"
)
func main() {
empty, err := IsEmptyDir("/tmp")
if err != nil {
log.Fatalln(err)
}
if empty {
fmt.Printf("/tmp is empty\n")
} else {
fmt.Printf("/tmp is not empty\n")
}
}
func IsEmptyDir(name string) (bool, error) {
entries, err := ioutil.ReadDir(name)
if err != nil {
return false, err
}
return len(entries) == 0, nil
}

View file

@ -0,0 +1,4 @@
def isDirEmpty = { dirName ->
def dir = new File(dirName)
dir.exists() && dir.directory && (dir.list() as List).empty
}

View file

@ -0,0 +1,9 @@
def currentDir = new File('.')
def random = new Random()
def subDirName = "dir${random.nextInt(100000)}"
def subDir = new File(subDirName)
subDir.mkdir()
subDir.deleteOnExit()
assert ! isDirEmpty('.')
assert isDirEmpty(subDirName)

View file

@ -0,0 +1,9 @@
import System.Directory (getDirectoryContents)
import System.Environment (getArgs)
isEmpty x = getDirectoryContents x >>= return . f . (== [".", ".."])
where f True = "Directory is empty"
f False = "Directory is not empty"
main = getArgs >>= isEmpty . (!! 0) >>= putStrLn

View file

@ -0,0 +1,5 @@
$ mkdir 1
$ ./isempty 1
Directory is empty
$ ./isempty /usr/
Directory is not empty

View file

@ -0,0 +1,15 @@
procedure main()
every dir := "." | "./empty" do
write(dir, if isdirempty(dir) then " is empty" else " is not empty")
end
procedure isdirempty(s) #: succeeds if directory s is empty (and a directory)
local d,f
if ( stat(s).mode ? ="d" ) & ( d := open(s) ) then {
while f := read(d) do
if f == ("."|"..") then next else fail
close(d)
return s
}
else stop(s," is not a directory or will not open")
end

View file

@ -0,0 +1,2 @@
require 'dir'
empty_dir=: 0 = '/*' #@dir@,~ ]

View file

@ -0,0 +1,5 @@
$ mkdir /tmp/a
$ touch /tmp/a/...
$ mkdir /tmp/b
$ mkdir /tmp/c
$ mkdir /tmp/c/d

View file

@ -0,0 +1,6 @@
empty_dir 'c:/cygwin/tmp/a'
0
empty_dir 'c:/cygwin/tmp/b'
1
empty_dir 'c:/cygwin/tmp/c'
0

View file

@ -0,0 +1,5 @@
import java.nio.file.Paths;
//... other class code here
public static boolean isEmptyDir(String dirName){
return Paths.get(dirName).toFile().listFiles().length == 0;
}

View file

@ -0,0 +1,9 @@
// Node.js v14.15.4
const { readdirSync } = require("fs");
const emptydir = (path) => readdirSync(path).length == 0;
// tests, run like node emptydir.js [directories]
for (let i = 2; i < process.argv.length; i ++) {
let dir = process.argv[i];
console.log(`${dir}: ${emptydir(dir) ? "" : "not "}empty`)
}

View file

@ -0,0 +1,5 @@
# v0.6.0
isemptydir(dir::AbstractString) = isempty(readdir(dir))
@show isemptydir(".")
@show isemptydir("/home")

View file

@ -0,0 +1,9 @@
// version 1.1.4
import java.io.File
fun main(args: Array<String>) {
val dirPath = "docs" // or whatever
val isEmpty = (File(dirPath).list().isEmpty())
println("$dirPath is ${if (isEmpty) "empty" else "not empty"}")
}

View file

@ -0,0 +1,3 @@
dir('has_content') -> isEmpty
'<br />'
dir('no_content') -> isEmpty

View file

@ -0,0 +1,15 @@
dim info$(10, 10)
files "c:\", info$()
qtyFiles=val(info$(0,0))
n = qtyFiles+1 'begin directory info
folder$ = info$(n,0) 'path to first directory in c:
files folder$, info$() 're-fill array with data from sub folder
if val(info$(0,0)) + val(info$(0, 1)) <> 0 then
print "Folder ";folder$;" is not empty."
else
print "Folder ";folder$;" is empty."
end if

View file

@ -0,0 +1,3 @@
on isDirEmpty (dir)
return getNthFileNameInFolder(dir, 1) = EMPTY
end

View file

@ -0,0 +1,16 @@
function scandir(directory)
local i, t, popen = 0, {}, io.popen
local pfile = popen('ls -a "'..directory..'"')
for filename in pfile:lines() do
if filename ~= '.' and filename ~= '..' then
i = i + 1
t[i] = filename
end
end
pfile:close()
return t
end
function isemptydir(directory)
return #scandir(directory) == 0
end

View file

@ -0,0 +1,8 @@
function isemptydir(directory,nospecial)
for filename in require('lfs').dir(directory) do
if filename ~= '.' and filename ~= '..' then
return false
end
end
return true
end

View file

@ -0,0 +1,8 @@
function x = isEmptyDirectory(p)
if isdir(p)
f = dir(p)
x = length(f)>2;
else
error('Error: %s is not a directory');
end;
end;

View file

@ -0,0 +1,3 @@
emptydirectory := proc (dir)
is(listdir(dir) = [".", ".."]);
end proc;

View file

@ -0,0 +1,5 @@
EmptyDirectoryQ[x_] := (SetDirectory[x]; If[FileNames[] == {}, True, False])
Example use:
EmptyDirectoryQ["C:\\Program Files\\Wolfram Research\\Mathematica\\9"]
->True

View file

@ -0,0 +1 @@
(ls bool not) :empty-dir?

View file

@ -0,0 +1,3 @@
def isempty(dirname)
return len(new(Nanoquery.IO.File).listDir(dirname)) = 0
end

View file

@ -0,0 +1,19 @@
using System.IO;
using System.Console;
module EmptyDirectory
{
IsDirectoryEmpty(dir : string) : bool
{
Directory.GetFileSystemEntries(dir).Length == 0
}
Main(args : array[string]) : void
{
foreach (dir in args) {
when (Directory.Exists(dir)) {
WriteLine("{0} {1} empty.", dir, if (IsDirectoryEmpty(dir)) "is" else "is not");
}
}
}
}

View file

@ -0,0 +1,3 @@
(define (empty-dir? path-to-check)
(empty? (clean (lambda (x) (or (= "." x) (= ".." x))) (directory path-to-check)))
)

View file

@ -0,0 +1,7 @@
import os, rdstdin
var empty = true
for f in walkDir(readLineFromStdin "directory: "):
empty = false
break
echo empty

View file

@ -0,0 +1,7 @@
import os, sequtils
proc isEmptyDir(dir: string): bool =
toSeq(walkdir dir).len == 0
echo isEmptyDir("/tmp") # false - there is always something in "/tmp"
echo isEmptyDir("/temp") # true - "/temp" does not exist

View file

@ -0,0 +1,2 @@
let is_dir_empty d =
Sys.readdir d = [| |]

View file

@ -0,0 +1,3 @@
function : IsEmptyDirectory(dir : String) ~ Bool {
return Directory->List(dir)->Size() = 0;
}

View file

@ -0,0 +1,20 @@
Call test 'D:\nodir' /* no such directory */
Call test 'D:\edir' /* an empty directory */
Call test 'D:\somedir' /* directory with 2 files */
Call test 'D:\somedir','S' /* directory with 3 files */
Exit
test: Parse Arg fd,nest
If SysIsFileDirectory(fd)=0 Then
Say 'Directory' fd 'not found'
Else Do
ret=SysFileTree(fd'\*.*','X', 'F'nest)
If x.0=0 Then
say 'Directory' fd 'is empty'
Else Do
If nest='' Then
say 'Directory' fd 'contains' x.0 'files'
Else
say 'Directory' fd 'contains' x.0 'files (some nested)'
End
End
Return

View file

@ -0,0 +1 @@
chkdir(d)=extern(concat(["[ -d '",d,"' ]&&ls -A '",d,"'|wc -l||echo -1"]))

View file

@ -0,0 +1 @@
dir_is_empty(d)=!chkdir(d)

View file

@ -0,0 +1,16 @@
$dir = 'path_here';
if(is_dir($dir)){
//scandir grabs the contents of a directory and array_diff is being used to filter out .. and .
$list = array_diff(scandir($dir), array('..', '.'));
//now we can just use empty to check if the variable has any contents regardless of it's type
if(empty($list)){
echo 'dir is empty';
}
else{
echo 'dir is not empty';
}
}
else{
echo 'not a directory';
}

View file

@ -0,0 +1,40 @@
program emptyDirectory(input, output);
type
path = string(1024);
{
\brief determines whether a (hierarchial FS) directory is empty
\param accessVia a possible route to access a directory
\return whether \param accessVia is an empty directory
}
function isEmptyDirectory(protected accessVia: path): Boolean;
var
{ NB: `file` data types without a domain type are non-standard }
directory: bindable file;
FD: bindingType;
begin
{ initialize variables }
unbind(directory);
FD := binding(directory);
FD.name := accessVia;
{ binding to directories is usually not possible }
FD.force := true;
{ the actual test }
bind(directory, FD);
FD := binding(directory);
unbind(directory);
isEmptyDirectory := FD.bound and FD.directory and (FD.links <= 2)
end;
{ === MAIN ============================================================= }
var
s: path;
begin
readLn(s);
writeLn(isEmptyDirectory(s))
end.

View file

@ -0,0 +1 @@
sub dir_is_empty {!<$_[0]/*>}

View file

@ -0,0 +1,2 @@
use IO::Dir;
sub dir_is_empty { !grep !/^\.{1,2}\z/, IO::Dir->new(@_)->read }

View file

@ -0,0 +1,21 @@
(notonline)-->
<span style="color: #008080;">without</span> <span style="color: #008080;">js</span> <span style="color: #000080;font-style:italic;">-- file i/o</span>
<span style="color: #008080;">procedure</span> <span style="color: #000000;">test</span><span style="color: #0000FF;">(</span><span style="color: #004080;">string</span> <span style="color: #000000;">filename</span><span style="color: #0000FF;">)</span>
<span style="color: #004080;">string</span> <span style="color: #000000;">msg</span>
<span style="color: #008080;">switch</span> <span style="color: #7060A8;">get_file_type</span><span style="color: #0000FF;">(</span><span style="color: #000000;">filename</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">do</span>
<span style="color: #008080;">case</span> <span style="color: #000000;">FILETYPE_UNDEFINED</span><span style="color: #0000FF;">:</span> <span style="color: #000000;">msg</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">"is UNDEFINED"</span>
<span style="color: #008080;">case</span> <span style="color: #000000;">FILETYPE_NOT_FOUND</span><span style="color: #0000FF;">:</span> <span style="color: #000000;">msg</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">"is NOT_FOUND"</span>
<span style="color: #008080;">case</span> <span style="color: #004600;">FILETYPE_FILE</span><span style="color: #0000FF;">:</span> <span style="color: #000000;">msg</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">"is a FILE"</span>
<span style="color: #008080;">case</span> <span style="color: #004600;">FILETYPE_DIRECTORY</span><span style="color: #0000FF;">:</span>
<span style="color: #004080;">integer</span> <span style="color: #000000;">count</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">filter</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">vslice</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">dir</span><span style="color: #0000FF;">(</span><span style="color: #000000;">filename</span><span style="color: #0000FF;">),</span><span style="color: #004600;">D_NAME</span><span style="color: #0000FF;">),</span><span style="color: #008000;">"out"</span><span style="color: #0000FF;">,{</span><span style="color: #008000;">"."</span><span style="color: #0000FF;">,</span><span style="color: #008000;">".."</span><span style="color: #0000FF;">}))</span>
<span style="color: #000000;">msg</span> <span style="color: #0000FF;">=</span> <span style="color: #008080;">iff</span><span style="color: #0000FF;">(</span><span style="color: #000000;">count</span><span style="color: #0000FF;">=</span><span style="color: #000000;">0</span><span style="color: #0000FF;">?</span><span style="color: #008000;">"is an empty directory"</span>
<span style="color: #0000FF;">:</span><span style="color: #7060A8;">sprintf</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"is a directory containing %d files"</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">count</span><span style="color: #0000FF;">}))</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">switch</span>
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"%s %s\n"</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">filename</span><span style="color: #0000FF;">,</span><span style="color: #000000;">msg</span><span style="color: #0000FF;">})</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">procedure</span>
<span style="color: #008080;">constant</span> <span style="color: #000000;">tests</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{</span><span style="color: #008000;">"C:\\xx"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"C:\\not_there"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"C:\\Program Files (x86)\\Phix\\p.exe"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"C:\\Windows"</span><span style="color: #0000FF;">}</span>
<span style="color: #008080;">for</span> <span style="color: #000000;">i</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">to</span> <span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">tests</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">do</span>
<span style="color: #000000;">test</span><span style="color: #0000FF;">(</span><span style="color: #000000;">tests</span><span style="color: #0000FF;">[</span><span style="color: #000000;">i</span><span style="color: #0000FF;">])</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
<!--

View file

@ -0,0 +1 @@
(prinl "myDir is" (and (dir "myDir") " not") " empty")

View file

@ -0,0 +1,6 @@
$path = "C:\Users"
if((Dir $path).Count -eq 0) {
"$path is empty"
} else {
"$path is not empty"
}

View file

@ -0,0 +1,6 @@
non_empty_file('.').
non_empty_file('..').
empty_dir(Dir) :-
directory_files(Dir, Files),
maplist(non_empty_file, Files).

View file

@ -0,0 +1,29 @@
Procedure isDirEmpty(path$)
If Right(path$, 1) <> "\": path$ + "\": EndIf
Protected dirID = ExamineDirectory(#PB_Any, path$, "*.*")
Protected result
If dirID
result = 1
While NextDirectoryEntry(dirID)
If DirectoryEntryType(dirID) = #PB_DirectoryEntry_File Or (DirectoryEntryName(dirID) <> "." And DirectoryEntryName(dirID) <> "..")
result = 0
Break
EndIf
Wend
FinishDirectory(dirID)
EndIf
ProcedureReturn result
EndProcedure
Define path$, result$
path$ = PathRequester("Choose a path", "C:\")
If path$
If isDirEmpty(path$)
result$ = " is empty."
Else
result$ = " is not empty."
EndIf
MessageRequester("Empty directory test", #DQUOTE$ + path$ + #DQUOTE$ + result$)
EndIf

View file

@ -0,0 +1,5 @@
import os;
if os.listdir(raw_input("directory")):
print "not empty"
else:
print "empty"

View file

@ -0,0 +1,6 @@
is_dir_empty <- function(path){
if(length(list.files(path)) == 0)
print("This folder is empty")
}
is_dir_empty(path)

View file

@ -0,0 +1,14 @@
/*REXX pgm checks to see if a directory is empty; if not, lists entries.*/
parse arg xdir; if xdir='' then xdir='\someDir' /*Any DIR? Use default.*/
@.=0 /*default in case ADDRESS fails. */
trace off /*suppress REXX err msg for fails*/
address system 'DIR' xdir '/b' with output stem @. /*issue the DIR cmd.*/
if rc\==0 then do /*an error happened?*/
say '***error!*** from DIR' xDIR /*indicate que pasa.*/
say 'return code=' rc /*show the ret Code.*/
exit rc /*exit with the RC.*/
end /* [↑] bad address.*/
#=@.rc /*number of entries.*/
if #==0 then #=' no ' /*use a word, ¬zero.*/
say center('directory ' xdir " has " # ' entries.',79,'')
exit @.0+rc /*stick a fork in it, we're done.*/

View file

@ -0,0 +1,2 @@
#lang racket
(empty? (directory-list "some-directory"))

View file

@ -0,0 +1 @@
sub dir-is-empty ($d) { not dir $d }

View file

@ -0,0 +1,3 @@
myList = dir("C:\Ring\bin")
if len(myList) > 0 see "C:\Ring\bin is not empty" + nl
else see "C:\Ring\bin is empty" + nl ok

View file

@ -0,0 +1 @@
Dir.entries("testdir").empty?

View file

@ -0,0 +1,4 @@
files #f, DefaultDir$ + "\*.*" ' open some directory.
print "hasanswer: ";#f HASANSWER() ' if it has an answer it is not MT
print "rowcount: ";#f ROWCOUNT() ' if not MT, how many files?

View file

@ -0,0 +1,20 @@
use std::fs::read_dir;
use std::error::Error;
fn main() {
for path in std::env::args().skip(1) { // iterate over the arguments, skipping the first (which is the executable)
match read_dir(path.as_str()) { // try to read the directory specified
Ok(contents) => {
let len = contents.collect::<Vec<_>>().len(); // calculate the amount of items in the directory
if len == 0 {
println!("{} is empty", path);
} else {
println!("{} is not empty", path);
}
},
Err(e) => { // If the attempt failed, print the corresponding error msg
println!("Failed to read directory \"{}\": {}", path, e.description());
}
}
}
}

View file

@ -0,0 +1,4 @@
import java.io.File
def isDirEmpty(file:File) : Boolean =
return file.exists && file.isDirectory && file.list.isEmpty

View file

@ -0,0 +1,10 @@
$ include "seed7_05.s7i";
include "osfiles.s7i";
const func boolean: dirEmpty (in string: dirName) is
return fileType(dirName) = FILE_DIR and length(readDir(dirName)) = 0;
const proc: main is func
begin
writeln(dirEmpty("somedir"));
end func;

View file

@ -0,0 +1,8 @@
put the temporary folder & "NewFolder" into newFolderPath
make folder newFolderPath -- create a new empty directory
if the filesAndFolders in newFolderPath is empty then
put "Directory " & newFolderPath & " is empty!"
else
put "Something is present in " & newFolderPath
end if

View file

@ -0,0 +1 @@
Dir.new('/my/dir').is_empty; # true, false or nil

View file

@ -0,0 +1,8 @@
func is_empty(dir) {
dir.open(\var dir_h) || return nil;
dir_h.each { |file|
file ~~ ['.', '..'] && next;
return false;
};
return true;
};

View file

@ -0,0 +1,12 @@
fun isDirEmpty(path: string) =
let
val dir = OS.FileSys.openDir path
val dirEntryOpt = OS.FileSys.readDir dir
in
(
OS.FileSys.closeDir(dir);
case dirEntryOpt of
NONE => true
| _ => false
)
end;

View file

@ -0,0 +1,6 @@
proc isEmptyDir {dir} {
# Get list of _all_ files in directory
set filenames [glob -nocomplain -tails -directory $dir * .*]
# Check whether list is empty (after filtering specials)
expr {![llength [lsearch -all -not -regexp $filenames {^\.\.?$}]]}
}

View file

@ -0,0 +1,3 @@
#!/bin/sh
DIR=/tmp/foo
[ `ls -a $DIR|wc -l` -gt 2 ] && echo $DIR is NOT empty || echo $DIR is empty

View file

@ -0,0 +1,11 @@
import os
fn main() {
println(is_empty_dir('../Check'))
}
fn is_empty_dir(name string) string {
if os.is_dir(name) == false {return 'Directory name not exist!'}
if os.is_dir(name) && os.is_dir_empty(name) == true {return 'Directory exists and is empty!'}
return 'Directory not empty!'
}

View file

@ -0,0 +1,11 @@
Sub Main()
Debug.Print IsEmptyDirectory("C:\Temp")
Debug.Print IsEmptyDirectory("C:\Temp\")
End Sub
Private Function IsEmptyDirectory(D As String) As Boolean
Dim Sep As String
Sep = Application.PathSeparator
D = IIf(Right(D, 1) <> Sep, D & Sep, D)
IsEmptyDirectory = (Dir(D & "*.*") = "")
End Function

View file

@ -0,0 +1,12 @@
Function IsDirEmpty(path)
IsDirEmpty = False
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(path)
If objFolder.Files.Count = 0 And objFolder.SubFolders.Count = 0 Then
IsDirEmpty = True
End If
End Function
'Test
WScript.StdOut.WriteLine IsDirEmpty("C:\Temp")
WScript.StdOut.WriteLine IsDirEmpty("C:\Temp\test")

View file

@ -0,0 +1,10 @@
import "io" for Directory
var isEmptyDir = Fn.new { |path|
if (!Directory.exists(path)) Fiber.abort("Directory at '%(path)' does not exist.")
return Directory.list(path).count == 0
}
var path = "test"
var empty = isEmptyDir.call(path)
System.print("'%(path)' is %(empty ? "empty" : "not empty")")

View file

@ -0,0 +1,3 @@
path:="Empty"; File.isDir(path).println();
File.mkdir(path); File.isDir(path).println();
File.glob(path+"/*").println(); // show contents of directory