Path

Represents a path. Contains suffixes that can be helpful when using and manipulating paths. You can use path() to create new instances.

Instances of this structure can be passed as arguments instead of ordinary, string paths, for example:

copypath("../file", path()).
structure Path
Suffix Type Description
VOLUME Volume Volume this path belongs to
SEGMENTS List of String List of this path’s segments
LENGTH Scalar Number of segments in this path
NAME String Name of file or directory this path points to
HASEXTENSION Boolean True if path contains an extension
EXTENSION String This path’s extension
ROOT Path Root path of this path’s volume
PARENT Path Parent path
CHANGENAME(name) Path Returns a new path with its name (last segment) changed
CHANGEEXTENSION(extension) Path Returns a new path with extension changed
ISPARENT(path) Boolean True if path is the parent of this path
COMBINE(name1, [name2, ...]) Path Returns a new path created by adding further elements to this one
Path:VOLUME
Type:Volume
Access:Get only

Volume this path belongs to.

Path:SEGMENTS
Type:List of String
Access:Get only

List of segments this path contains. Segments are parts of the path separated by /. For example path 0:/directory/subdirectory/script.ks contains the following segments: directory, subdirectory and script.ks.

Path:LENGTH
Type:Scalar
Access:Get only

Number of this path’s segments.

Path:NAME
Type:String
Access:Get only

Name of file or directory this path points to (same as the last segment).

Path:HASEXTENSION
Type:Boolean
Access:Get only

True if the last segment of this path has an extension.

Path:EXTENSION
Type:String
Access:Get only

Extension of the last segment of this path.

Path:ROOT
Type:Path
Access:Get only

Returns a new path that points to the root directory of this path’s volume.

Path:PARENT
Type:Path
Access:Get only

Returns a new path that points to this path’s parent. This method will throw an exception if this path does not have a parent (its length is 0).

Path:CHANGENAME(name)
Parameters:
  • nameString new path name
Returns:

Path

Will return a new path with the value of the last segment of this path replaced (or added if there’s none).

Path:CHANGEEXTENSION(extension)
Parameters:
  • extensionString new path extension
Returns:

Path

Will return a new path with the extension of the last segment of this path replaced (or added if there’s none).

Path:ISPARENT(path)
Parameters:
  • pathPath path to check
Returns:

Boolean

Returns true if path is the parent of this path.

Path:COMBINE(name1, [name2, ...])
Parameters:
  • nameString segments to add
Returns:

Path

Returns a new path that represents the file or directory that would be reached by starting from this path and then appending the path elements given in the list.

e.g:

set p to path("0:/home").
set p2 to p:combine("d1", "d2", "file.ks").
print p2
0:/home/d1/d2/file.ks