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);forvar f in files dobeginif FileSize(f)>0then
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.