From QB64 Wiki
Jump to navigation Jump to search

The _CWD$ function returns the current working directory path as a string value without a trailing path separator.


workingDirectory$ = _CWD$


  • By default, the initial working directory path is usually the same as the directory of the executable file run.
  • The current working directory can be changed with the CHDIR or SHELL command; CHDIR sets it, _CWD$ returns it.
  • Path returns will change only when the working path has changed. When in C:\ and run QB64\cwd.exe, it will still return C:\
  • The current working directory string can be used in OPEN statements and SHELL commands that deal with files.
  • Works in Windows, macOS and Linux. _OS$ can be used by a program to predict the proper slash separations in different OS's.


  • If an error occurs while obtaining the working directory from the operating system, error code 51 (Internal Error) will be generated.


Example: Get the current working directory, and move around the file system:

startdir$ = _CWD$ PRINT "We started at "; startdir$ MKDIR "a_temporary_dir" CHDIR "a_temporary_dir" PRINT "We are now in "; _CWD$ CHDIR startdir$ PRINT "And now we're back in "; _CWD$ RMDIR "a_temporary_dir"

We started at C:\QB64 We are now in C:\QB64\a_temporary_dir And now we're back in C:\QB64

See also

  • CHDIR (Change the current working directory)
  • RMDIR (Remove a directory in the file system)
  • KILL (Delete a file in the file system)
  • MKDIR (Create a directory in the file system)
  • _OS$ (returns current OS to program)
  • _STARTDIR$ (returns path the user called program from)

Keyword Reference - Alphabetical
Keyword Reference - By Usage
Main Wiki Page