2.1.5 Pathname

A pathname has the following characteristics:

  • A pathname MUST be no more than 32,760 characters in length.

  • A pathname is composed of one or more pathname components separated by the "\" backslash character. All pathname components other than the last pathname component denote directories or reparse points. The last pathname component denotes a directory, a file, a stream, or a reparse point.

  • A leading "\" backslash character is optional, and determines whether a pathname is absolute or relative:

    • A pathname that begins with a leading "\" backslash character, for example, "\a\b\c", is an absolute pathname. An absolute pathname SHOULD be evaluated relative to the root directory.

    • A pathname that omits a leading "\" backslash character, for example, "a\b\c", is a relative pathname. A relative pathname MAY be evaluated relative to any directory, such as an application's current working directory.

  • Each pathname component has one of the following forms:

    • A dot directory name as specified in section 2.1.5.1.

    • A filename as specified in section 2.1.5.2, optionally followed by a ":" colon character and a streamname as specified in section 2.1.5.3, optionally followed by a ":" colon character and a streamtype as specified in section 2.1.5.4. The streamname, if specified, MAY be zero-length only if streamtype is also specified; otherwise, it MUST be at least one character. The streamtype, if specified, MUST be at least one character.