Overview

File System Access

DWScript provides comprehensive functions for file I/O, directory management, and path manipulation.

Core File Operations

Function Parameters Description
FileExists name Check if a file exists.
FileRead name Reads entire file into a string.
FileWrite name, content Writes string to a file.
FileReadLines name Reads file into array of String.
FileSize name Size in bytes.
DeleteFile name Removes a file.
CopyFile src, dest [, failIfExist] Copies a file.
MoveFile src, dest Moves a file.
RenameFile old, new Renames a file or directory.

Directories

Function Parameters Description
DirectoryExists name Check if directory exists.
CreateDir / RemoveDir path Create/Remove directory.
RemoveDir path [, recursive] Remove directory (optionally even if not empty).
ForceDirectories path Creates full directory path recursively.
EnumerateDir path, mask, recursive Returns array of String of files.
EnumerateSubDirs path Returns array of String of subdirectories.

File Metadata

Function Description
FileDateTime Returns last modification timestamp.
FileAccessDateTime Returns last access timestamp.
FileCreationDateTime Returns file creation timestamp.
FileSetDateTime Manually sets modification timestamp.

Path Manipulation

These functions operate on strings and do not check the actual file system.

Function Description
ExtractFilePath Returns directory part (with trailing backslash).
ExtractFileName Returns file name and extension.
ExtractFileExt Returns file extension (e.g. ".pas").
ChangeFileExt Replaces file extension.

Example: Bulk Processing

var files := EnumerateDir('lang/basics', 'intro*.md', False);
for var f in files do begin
  if FileSize(f) > 0 then
    PrintLn('Found file: ' + ExtractFileName(f));
end;
Result
Found file: introduction.md

Security

Access to the file system is restricted by the execution environment. In web contexts, access is typically limited to the web root or specific temporary folders.

On this page