Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
2
Task/Empty-directory/00-META.yaml
Normal file
2
Task/Empty-directory/00-META.yaml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
from: http://rosettacode.org/wiki/Empty_directory
|
||||
5
Task/Empty-directory/00-TASK.txt
Normal file
5
Task/Empty-directory/00-TASK.txt
Normal 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.
|
||||
|
||||
4
Task/Empty-directory/11l/empty-directory.11l
Normal file
4
Task/Empty-directory/11l/empty-directory.11l
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
I fs:list_dir(input()).empty
|
||||
print(‘empty’)
|
||||
E
|
||||
print(‘not empty’)
|
||||
23
Task/Empty-directory/8086-Assembly/empty-directory.8086
Normal file
23
Task/Empty-directory/8086-Assembly/empty-directory.8086
Normal 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
|
||||
32
Task/Empty-directory/ALGOL-68/empty-directory.alg
Normal file
32
Task/Empty-directory/ALGOL-68/empty-directory.alg
Normal 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
|
||||
37
Task/Empty-directory/AWK/empty-directory.awk
Normal file
37
Task/Empty-directory/AWK/empty-directory.awk
Normal 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)
|
||||
}
|
||||
24
Task/Empty-directory/Ada/empty-directory.ada
Normal file
24
Task/Empty-directory/Ada/empty-directory.ada
Normal 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;
|
||||
3
Task/Empty-directory/Arturo/empty-directory.arturo
Normal file
3
Task/Empty-directory/Arturo/empty-directory.arturo
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
emptyDir?: function [folder]-> empty? list folder
|
||||
|
||||
print emptyDir? "."
|
||||
7
Task/Empty-directory/AutoHotkey/empty-directory.ahk
Normal file
7
Task/Empty-directory/AutoHotkey/empty-directory.ahk
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
MsgBox % isDir_empty(A_ScriptDir)?"true":"false"
|
||||
|
||||
isDir_empty(p) {
|
||||
Loop, %p%\* , 1
|
||||
return 0
|
||||
return 1
|
||||
}
|
||||
17
Task/Empty-directory/BBC-BASIC/empty-directory.basic
Normal file
17
Task/Empty-directory/BBC-BASIC/empty-directory.basic
Normal 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)
|
||||
18
Task/Empty-directory/BaCon/empty-directory.bacon
Normal file
18
Task/Empty-directory/BaCon/empty-directory.bacon
Normal 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$)
|
||||
30
Task/Empty-directory/Batch-File/empty-directory.bat
Normal file
30
Task/Empty-directory/Batch-File/empty-directory.bat
Normal 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
|
||||
16
Task/Empty-directory/C++/empty-directory.cpp
Normal file
16
Task/Empty-directory/C++/empty-directory.cpp
Normal 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";
|
||||
}
|
||||
}
|
||||
19
Task/Empty-directory/C-sharp/empty-directory.cs
Normal file
19
Task/Empty-directory/C-sharp/empty-directory.cs
Normal 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 );
|
||||
}
|
||||
}
|
||||
40
Task/Empty-directory/C/empty-directory.c
Normal file
40
Task/Empty-directory/C/empty-directory.c
Normal 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;
|
||||
}
|
||||
6
Task/Empty-directory/Clojure/empty-directory.clj
Normal file
6
Task/Empty-directory/Clojure/empty-directory.clj
Normal 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 ".."
|
||||
7
Task/Empty-directory/CoffeeScript/empty-directory.coffee
Normal file
7
Task/Empty-directory/CoffeeScript/empty-directory.coffee
Normal 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
|
||||
3
Task/Empty-directory/Common-Lisp/empty-directory.lisp
Normal file
3
Task/Empty-directory/Common-Lisp/empty-directory.lisp
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
(defun empty-directory-p (path)
|
||||
(and (null (directory (concatenate 'string path "/*")))
|
||||
(null (directory (concatenate 'string path "/*/")))))
|
||||
12
Task/Empty-directory/D/empty-directory.d
Normal file
12
Task/Empty-directory/D/empty-directory.d
Normal 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;
|
||||
}
|
||||
28
Task/Empty-directory/Delphi/empty-directory.delphi
Normal file
28
Task/Empty-directory/Delphi/empty-directory.delphi
Normal 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.
|
||||
2
Task/Empty-directory/Elixir/empty-directory.elixir
Normal file
2
Task/Empty-directory/Elixir/empty-directory.elixir
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
path = hd(System.argv)
|
||||
IO.puts File.dir?(path) and Enum.empty?( File.ls!(path) )
|
||||
2
Task/Empty-directory/F-Sharp/empty-directory.fs
Normal file
2
Task/Empty-directory/F-Sharp/empty-directory.fs
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
open System.IO
|
||||
let isEmptyDirectory x = (Directory.GetFiles x).Length = 0 && (Directory.GetDirectories x).Length = 0
|
||||
2
Task/Empty-directory/Factor/empty-directory.factor
Normal file
2
Task/Empty-directory/Factor/empty-directory.factor
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
USE: io.directories
|
||||
: empty-directory? ( path -- ? ) directory-entries empty? ;
|
||||
43
Task/Empty-directory/FreeBASIC/empty-directory.basic
Normal file
43
Task/Empty-directory/FreeBASIC/empty-directory.basic
Normal 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
|
||||
44
Task/Empty-directory/FutureBasic/empty-directory.basic
Normal file
44
Task/Empty-directory/FutureBasic/empty-directory.basic
Normal 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
|
||||
12
Task/Empty-directory/Gambas/empty-directory.gambas
Normal file
12
Task/Empty-directory/Gambas/empty-directory.gambas
Normal 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
|
||||
27
Task/Empty-directory/Go/empty-directory.go
Normal file
27
Task/Empty-directory/Go/empty-directory.go
Normal 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
|
||||
}
|
||||
4
Task/Empty-directory/Groovy/empty-directory-1.groovy
Normal file
4
Task/Empty-directory/Groovy/empty-directory-1.groovy
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
def isDirEmpty = { dirName ->
|
||||
def dir = new File(dirName)
|
||||
dir.exists() && dir.directory && (dir.list() as List).empty
|
||||
}
|
||||
9
Task/Empty-directory/Groovy/empty-directory-2.groovy
Normal file
9
Task/Empty-directory/Groovy/empty-directory-2.groovy
Normal 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)
|
||||
9
Task/Empty-directory/Haskell/empty-directory-1.hs
Normal file
9
Task/Empty-directory/Haskell/empty-directory-1.hs
Normal 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
|
||||
5
Task/Empty-directory/Haskell/empty-directory-2.hs
Normal file
5
Task/Empty-directory/Haskell/empty-directory-2.hs
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
$ mkdir 1
|
||||
$ ./isempty 1
|
||||
Directory is empty
|
||||
$ ./isempty /usr/
|
||||
Directory is not empty
|
||||
15
Task/Empty-directory/Haskell/empty-directory-3.hs
Normal file
15
Task/Empty-directory/Haskell/empty-directory-3.hs
Normal 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
|
||||
2
Task/Empty-directory/J/empty-directory-1.j
Normal file
2
Task/Empty-directory/J/empty-directory-1.j
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
require 'dir'
|
||||
empty_dir=: 0 = '/*' #@dir@,~ ]
|
||||
5
Task/Empty-directory/J/empty-directory-2.j
Normal file
5
Task/Empty-directory/J/empty-directory-2.j
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
$ mkdir /tmp/a
|
||||
$ touch /tmp/a/...
|
||||
$ mkdir /tmp/b
|
||||
$ mkdir /tmp/c
|
||||
$ mkdir /tmp/c/d
|
||||
6
Task/Empty-directory/J/empty-directory-3.j
Normal file
6
Task/Empty-directory/J/empty-directory-3.j
Normal 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
|
||||
5
Task/Empty-directory/Java/empty-directory.java
Normal file
5
Task/Empty-directory/Java/empty-directory.java
Normal 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;
|
||||
}
|
||||
9
Task/Empty-directory/JavaScript/empty-directory.js
Normal file
9
Task/Empty-directory/JavaScript/empty-directory.js
Normal 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`)
|
||||
}
|
||||
5
Task/Empty-directory/Julia/empty-directory.julia
Normal file
5
Task/Empty-directory/Julia/empty-directory.julia
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# v0.6.0
|
||||
isemptydir(dir::AbstractString) = isempty(readdir(dir))
|
||||
|
||||
@show isemptydir(".")
|
||||
@show isemptydir("/home")
|
||||
9
Task/Empty-directory/Kotlin/empty-directory.kotlin
Normal file
9
Task/Empty-directory/Kotlin/empty-directory.kotlin
Normal 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"}")
|
||||
}
|
||||
3
Task/Empty-directory/Lasso/empty-directory.lasso
Normal file
3
Task/Empty-directory/Lasso/empty-directory.lasso
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
dir('has_content') -> isEmpty
|
||||
'<br />'
|
||||
dir('no_content') -> isEmpty
|
||||
15
Task/Empty-directory/Liberty-BASIC/empty-directory.basic
Normal file
15
Task/Empty-directory/Liberty-BASIC/empty-directory.basic
Normal 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
|
||||
3
Task/Empty-directory/Lingo/empty-directory.lingo
Normal file
3
Task/Empty-directory/Lingo/empty-directory.lingo
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
on isDirEmpty (dir)
|
||||
return getNthFileNameInFolder(dir, 1) = EMPTY
|
||||
end
|
||||
16
Task/Empty-directory/Lua/empty-directory-1.lua
Normal file
16
Task/Empty-directory/Lua/empty-directory-1.lua
Normal 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
|
||||
8
Task/Empty-directory/Lua/empty-directory-2.lua
Normal file
8
Task/Empty-directory/Lua/empty-directory-2.lua
Normal 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
|
||||
8
Task/Empty-directory/MATLAB/empty-directory.m
Normal file
8
Task/Empty-directory/MATLAB/empty-directory.m
Normal 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;
|
||||
3
Task/Empty-directory/Maple/empty-directory.maple
Normal file
3
Task/Empty-directory/Maple/empty-directory.maple
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
emptydirectory := proc (dir)
|
||||
is(listdir(dir) = [".", ".."]);
|
||||
end proc;
|
||||
5
Task/Empty-directory/Mathematica/empty-directory.math
Normal file
5
Task/Empty-directory/Mathematica/empty-directory.math
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
EmptyDirectoryQ[x_] := (SetDirectory[x]; If[FileNames[] == {}, True, False])
|
||||
|
||||
Example use:
|
||||
EmptyDirectoryQ["C:\\Program Files\\Wolfram Research\\Mathematica\\9"]
|
||||
->True
|
||||
1
Task/Empty-directory/Min/empty-directory.min
Normal file
1
Task/Empty-directory/Min/empty-directory.min
Normal file
|
|
@ -0,0 +1 @@
|
|||
(ls bool not) :empty-dir?
|
||||
3
Task/Empty-directory/Nanoquery/empty-directory.nanoquery
Normal file
3
Task/Empty-directory/Nanoquery/empty-directory.nanoquery
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
def isempty(dirname)
|
||||
return len(new(Nanoquery.IO.File).listDir(dirname)) = 0
|
||||
end
|
||||
19
Task/Empty-directory/Nemerle/empty-directory.nemerle
Normal file
19
Task/Empty-directory/Nemerle/empty-directory.nemerle
Normal 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");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Task/Empty-directory/NewLISP/empty-directory.l
Normal file
3
Task/Empty-directory/NewLISP/empty-directory.l
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
(define (empty-dir? path-to-check)
|
||||
(empty? (clean (lambda (x) (or (= "." x) (= ".." x))) (directory path-to-check)))
|
||||
)
|
||||
7
Task/Empty-directory/Nim/empty-directory-1.nim
Normal file
7
Task/Empty-directory/Nim/empty-directory-1.nim
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
import os, rdstdin
|
||||
|
||||
var empty = true
|
||||
for f in walkDir(readLineFromStdin "directory: "):
|
||||
empty = false
|
||||
break
|
||||
echo empty
|
||||
7
Task/Empty-directory/Nim/empty-directory-2.nim
Normal file
7
Task/Empty-directory/Nim/empty-directory-2.nim
Normal 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
|
||||
2
Task/Empty-directory/OCaml/empty-directory.ocaml
Normal file
2
Task/Empty-directory/OCaml/empty-directory.ocaml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
let is_dir_empty d =
|
||||
Sys.readdir d = [| |]
|
||||
3
Task/Empty-directory/Objeck/empty-directory.objeck
Normal file
3
Task/Empty-directory/Objeck/empty-directory.objeck
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
function : IsEmptyDirectory(dir : String) ~ Bool {
|
||||
return Directory->List(dir)->Size() = 0;
|
||||
}
|
||||
20
Task/Empty-directory/OoRexx/empty-directory.rexx
Normal file
20
Task/Empty-directory/OoRexx/empty-directory.rexx
Normal 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
|
||||
1
Task/Empty-directory/PARI-GP/empty-directory-1.parigp
Normal file
1
Task/Empty-directory/PARI-GP/empty-directory-1.parigp
Normal file
|
|
@ -0,0 +1 @@
|
|||
chkdir(d)=extern(concat(["[ -d '",d,"' ]&&ls -A '",d,"'|wc -l||echo -1"]))
|
||||
1
Task/Empty-directory/PARI-GP/empty-directory-2.parigp
Normal file
1
Task/Empty-directory/PARI-GP/empty-directory-2.parigp
Normal file
|
|
@ -0,0 +1 @@
|
|||
dir_is_empty(d)=!chkdir(d)
|
||||
16
Task/Empty-directory/PHP/empty-directory.php
Normal file
16
Task/Empty-directory/PHP/empty-directory.php
Normal 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';
|
||||
}
|
||||
40
Task/Empty-directory/Pascal/empty-directory.pas
Normal file
40
Task/Empty-directory/Pascal/empty-directory.pas
Normal 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.
|
||||
1
Task/Empty-directory/Perl/empty-directory-1.pl
Normal file
1
Task/Empty-directory/Perl/empty-directory-1.pl
Normal file
|
|
@ -0,0 +1 @@
|
|||
sub dir_is_empty {!<$_[0]/*>}
|
||||
2
Task/Empty-directory/Perl/empty-directory-2.pl
Normal file
2
Task/Empty-directory/Perl/empty-directory-2.pl
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
use IO::Dir;
|
||||
sub dir_is_empty { !grep !/^\.{1,2}\z/, IO::Dir->new(@_)->read }
|
||||
21
Task/Empty-directory/Phix/empty-directory.phix
Normal file
21
Task/Empty-directory/Phix/empty-directory.phix
Normal 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>
|
||||
<!--
|
||||
1
Task/Empty-directory/PicoLisp/empty-directory.l
Normal file
1
Task/Empty-directory/PicoLisp/empty-directory.l
Normal file
|
|
@ -0,0 +1 @@
|
|||
(prinl "myDir is" (and (dir "myDir") " not") " empty")
|
||||
6
Task/Empty-directory/PowerShell/empty-directory.psh
Normal file
6
Task/Empty-directory/PowerShell/empty-directory.psh
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
$path = "C:\Users"
|
||||
if((Dir $path).Count -eq 0) {
|
||||
"$path is empty"
|
||||
} else {
|
||||
"$path is not empty"
|
||||
}
|
||||
6
Task/Empty-directory/Prolog/empty-directory.pro
Normal file
6
Task/Empty-directory/Prolog/empty-directory.pro
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
non_empty_file('.').
|
||||
non_empty_file('..').
|
||||
|
||||
empty_dir(Dir) :-
|
||||
directory_files(Dir, Files),
|
||||
maplist(non_empty_file, Files).
|
||||
29
Task/Empty-directory/PureBasic/empty-directory.basic
Normal file
29
Task/Empty-directory/PureBasic/empty-directory.basic
Normal 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
|
||||
5
Task/Empty-directory/Python/empty-directory.py
Normal file
5
Task/Empty-directory/Python/empty-directory.py
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
import os;
|
||||
if os.listdir(raw_input("directory")):
|
||||
print "not empty"
|
||||
else:
|
||||
print "empty"
|
||||
6
Task/Empty-directory/R/empty-directory.r
Normal file
6
Task/Empty-directory/R/empty-directory.r
Normal 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)
|
||||
14
Task/Empty-directory/REXX/empty-directory.rexx
Normal file
14
Task/Empty-directory/REXX/empty-directory.rexx
Normal 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.*/
|
||||
2
Task/Empty-directory/Racket/empty-directory.rkt
Normal file
2
Task/Empty-directory/Racket/empty-directory.rkt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
#lang racket
|
||||
(empty? (directory-list "some-directory"))
|
||||
1
Task/Empty-directory/Raku/empty-directory.raku
Normal file
1
Task/Empty-directory/Raku/empty-directory.raku
Normal file
|
|
@ -0,0 +1 @@
|
|||
sub dir-is-empty ($d) { not dir $d }
|
||||
3
Task/Empty-directory/Ring/empty-directory.ring
Normal file
3
Task/Empty-directory/Ring/empty-directory.ring
Normal 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
|
||||
1
Task/Empty-directory/Ruby/empty-directory.rb
Normal file
1
Task/Empty-directory/Ruby/empty-directory.rb
Normal file
|
|
@ -0,0 +1 @@
|
|||
Dir.entries("testdir").empty?
|
||||
4
Task/Empty-directory/Run-BASIC/empty-directory.basic
Normal file
4
Task/Empty-directory/Run-BASIC/empty-directory.basic
Normal 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?
|
||||
20
Task/Empty-directory/Rust/empty-directory.rust
Normal file
20
Task/Empty-directory/Rust/empty-directory.rust
Normal 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());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
4
Task/Empty-directory/Scala/empty-directory.scala
Normal file
4
Task/Empty-directory/Scala/empty-directory.scala
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
import java.io.File
|
||||
|
||||
def isDirEmpty(file:File) : Boolean =
|
||||
return file.exists && file.isDirectory && file.list.isEmpty
|
||||
10
Task/Empty-directory/Seed7/empty-directory.seed7
Normal file
10
Task/Empty-directory/Seed7/empty-directory.seed7
Normal 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;
|
||||
8
Task/Empty-directory/SenseTalk/empty-directory.sensetalk
Normal file
8
Task/Empty-directory/SenseTalk/empty-directory.sensetalk
Normal 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
|
||||
1
Task/Empty-directory/Sidef/empty-directory-1.sidef
Normal file
1
Task/Empty-directory/Sidef/empty-directory-1.sidef
Normal file
|
|
@ -0,0 +1 @@
|
|||
Dir.new('/my/dir').is_empty; # true, false or nil
|
||||
8
Task/Empty-directory/Sidef/empty-directory-2.sidef
Normal file
8
Task/Empty-directory/Sidef/empty-directory-2.sidef
Normal 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;
|
||||
};
|
||||
12
Task/Empty-directory/Standard-ML/empty-directory.ml
Normal file
12
Task/Empty-directory/Standard-ML/empty-directory.ml
Normal 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;
|
||||
6
Task/Empty-directory/Tcl/empty-directory.tcl
Normal file
6
Task/Empty-directory/Tcl/empty-directory.tcl
Normal 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 {^\.\.?$}]]}
|
||||
}
|
||||
3
Task/Empty-directory/UNIX-Shell/empty-directory.sh
Normal file
3
Task/Empty-directory/UNIX-Shell/empty-directory.sh
Normal 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
|
||||
11
Task/Empty-directory/V-(Vlang)/empty-directory.v
Normal file
11
Task/Empty-directory/V-(Vlang)/empty-directory.v
Normal 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!'
|
||||
}
|
||||
11
Task/Empty-directory/VBA/empty-directory.vba
Normal file
11
Task/Empty-directory/VBA/empty-directory.vba
Normal 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
|
||||
12
Task/Empty-directory/VBScript/empty-directory.vb
Normal file
12
Task/Empty-directory/VBScript/empty-directory.vb
Normal 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")
|
||||
10
Task/Empty-directory/Wren/empty-directory.wren
Normal file
10
Task/Empty-directory/Wren/empty-directory.wren
Normal 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")")
|
||||
3
Task/Empty-directory/Zkl/empty-directory.zkl
Normal file
3
Task/Empty-directory/Zkl/empty-directory.zkl
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue