[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'sysutils' (#rtl)

# ExpandFileName

Expand a relative filename to an absolute filename.

## Declaration

Source position: finah.inc line 29

`function ExpandFileName(`
`const FileName: UNICODESTRING`
`):UNICODESTRING; function ExpandFileName(`
`const FileName: RAWBYTESTRING`
`):RAWBYTESTRING;`

## Description

ExpandFileName expands the filename to an absolute filename. It changes all directory separator characters to the one appropriate for the system first.

If an empty filename is passed, it is expanded to the current directory.

If BasePath is not passed, the current directory is used as base path.

## Errors

None.

## See also

ExpandFileNameCase |  | Expand a filename entered as case insensitive to the full path as stored on the disk.
ExtractFileName |  | Extract the filename part from a full path filename.
ExtractFilePath |  | Extract the path from a filename.
ExtractFileDir |  | Extract the drive and directory part of a filename.
ExtractFileDrive |  | Extract the drive part from a filename.
ExtractFileExt |  | Return the extension from a filename.
ExtractRelativePath |  | Extract a relative path from a filename, given a base directory.

## Example

    Program Example33;

    { This program demonstrates the ExpandFileName function }

    Uses sysutils;

    Procedure Testit (F : String);

    begin
      Writeln (F,' expands to : ',ExpandFileName(F));
    end;

    Begin
      Testit('ex33.pp');
      Testit(ParamStr(0));
      Testit('/pp/bin/win32/ppc386');
      Testit('\pp\bin\win32\ppc386');
      Testit('.');
    End.