Skip to main content

Directory Class

.exists

.exists : boolean

Description

The .exists property returns true if the folder exists on disk, and false otherwise.

This property is read-only.


.extension

.extension : string

Description

The .extension property returns the extension of the folder name (if any). An extension always starts with ".". The property returns an empty string if the folder name does not have an extension.

This property is read-only.


.fullName

.fullName : string

Description

The .fullName property returns the full name of the folder, including its extension (if any).

This property is read-only.


.hidden

.hidden : boolean

Description

The .hidden property returns true if the folder is set as "hidden" at the system level, and false otherwise.

This property is read-only.


.isAlias

.isAlias : boolean

Description

The .isAlias property returns always false for a Folder object.

This property is read-only.


.isFile

.isFile : boolean

Description

The .isFile property returns always false for a folder.

This property is read-only.


.isFolder

.isFolder : boolean

Description

The .isFolder property returns always true for a folder.

This property is read-only.


.isPackage

.isPackage : boolean

Description

The .isPackage property returns true if the folder is a package on macOS (and exists on disk). Otherwise, it returns false.

On Windows, .isPackage always returns false.

This property is read-only.


.modificationDate

.modificationDate : date

Description

The .modificationDate property returns the date of the folder's last modification.

This property is read-only.


.modificationTime

.modificationTime : time

Description

The .modificationTime property returns the time of the folder's last modification (expressed as a number of seconds beginning at 00:00).

This property is read-only.


.name

.name : string

Description

The .name property returns the name of the folder, without extension (if any).

This property is read-only.


.original

.original : 4D.Folder

Description

The .original property returns the same Folder object as the folder.

This property is read-only.

This property is available on folders to allow generic code to process folders or files.


.parent

.parent : 4D.Folder

Description

The .parent property returns the parent folder object of the folder. If the path represents a system path (e.g., "/DATA/"), the system path is returned.

If the folder does not have a parent (root), the null value is returned.

This property is read-only.


.path

.path : string

Description

The .path property returns the POSIX path of the folder. If the path represents a filesystem (e.g., "/DATA/"), the filesystem is returned.

This property is read-only.


.copyTo()

.copyTo( destinationFolder : 4D.Folder { , newName : string } { , overwrite : integer } ) : 4D.Folder

ParameterTypeDescription
destinationFolder4D.Folder->Destination folder
newNamestring->Name for the copy
overwriteinteger->fk overwrite to replace existing elements
Result4D.Folder<-Copied file or folder

Description

The .copyTo() function copies the Folder object into the specified destinationFolder.

The destinationFolder must exist on disk, otherwise an error is generated.

By default, the folder is copied with the name of the original folder. If you want to rename the copy, pass the new name in the newName parameter. The new name must comply with naming rules (e.g., it must not contain characters such as ":", "/", etc.), otherwise an error is returned.

If a folder with the same name already exists in the destinationFolder, by default Qodly generates an error. You can pass the kOverwrite constant in the overwrite parameter to ignore and overwrite the existing file

ConstantValueComment
kOverwrite4Overwrite existing elements, if any

Returned value

The copied Folder object.

Example

You want to copy a Pictures folder from the resources folder to the data folder:

var userImages, copiedImages : 4D.Folder
userImages = folder("/RESOURCES/Pictures/")
copiedImages = userImages.copyTo(folder("/DATA"),kOverwrite)

.file()

.file( path : string ) : 4D.File

ParameterTypeDescription
pathstring->Relative POSIX file pathname
Result4D.File<-File object (null if invalid path)

Description

The .file() function creates a File object inside the Folder object and returns its reference.

In path, pass a relative POSIX path to designate the file to return. The path will be evaluated from the parent folder as root.

Returned value

A File object or null if path is invalid.

Example

var myPDF : 4D.File
myPDF = folder("/DATA").file("Pictures/info.pdf")

.files()

.files( { options : integer } ) : collection

ParameterTypeDescription
optionsinteger->File list options
Resultcollection<-collection of children file objects

Description

The .files() function returns a collection of File objects contained in the folder.

Aliases or symbolic links are not resolved.

By default, if you omit the options parameter, only the files at the first level of the folder are returned in the collection, as well as invisible files or folders. You can modify this by passing, in the options parameter, one or more of the following constants:

ConstantValueComment
kRecursive1The collection contains files of the specified folder and its subfolders
kIgnoreInvisible8Invisible files are not listed

Returned value

Collection of file objects.

Example 1

You want to know if there are invisible files in the project folder:

 var all, noInvisible : collection
var info : string
all = folder("/PACKAGE").files()
noInvisible = folder("/PACKAGE").files(kIgnoreInvisible)
if(all.length != noInvisible.length)
info = "Project folder contains hidden files."
end

Example 2

You want to get all files that are not invisible in the Resources folder:

 var recursive : collection
recursive = folder("/RESOURCES").files(kRecursive+kIgnoreInvisible)

.folder()

.folder( path : string ) : 4D.Folder

ParameterTypeDescription
pathstring->Relative POSIX file pathname
Result4D.Folder<-Created folder object (null if invalid path)

Description

The .folder() function creates a folder object inside the parent folder object and returns its reference.

In path, pass a relative POSIX path to designate the folder to return. The path will be evaluated from the parent folder as root.

Returned value

A folder object or null if path is invalid.

Example

 var mypicts : 4D.Folder
mypicts = folder("/RESOURCES").folder("Pictures")

.folders()

.folders( { options : integer } ) : collection

ParameterTypeDescription
optionsinteger->Folder list options
Resultcollection<-Collection of children folder objects

Description

The .folders() function returns a collection of folder objects contained in the parent folder.

By default, if you omit the options parameter, only the folders at the first level of the folder are returned in the collection. You can modify this by passing, in the options parameter, one or more of the following constants:

ConstantValueComment
kRecursive1The collection contains folders of the specified folder and its subfolders
kIgnoreInvisible8Invisible folders are not listed

Returned value

collection of folder objects.

Example

You want the collection of all folders and subfolders of the database folder:

 var allFolders : collection
allFolders = folder("/PACKAGE").folders(kRecursive)