{{DISPLAYTITLE:_CWD$}}

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


{{PageSyntax}} 
: {{Parameter|workingDirectory$}} = [[_CWD$]]


{{PageDescription}}
* 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.


{{PageErrors}}
* If an error occurs while obtaining the working directory from the operating system, [[ERROR Codes|error code]] 51 (Internal Error) will be generated.


{{PageExamples}}
''Example:'' Get the current working directory, and move around the file system:
{{CodeStart}} '' ''
startdir$ = _CWD$
{{Cl|PRINT}} "We started at "; startdir$
{{Cl|MKDIR}} "a_temporary_dir"
{{Cl|CHDIR}} "a_temporary_dir"
{{Cl|PRINT}} "We are now in "; _CWD$
{{Cl|CHDIR}} startdir$
{{Cl|PRINT}} "And now we're back in "; _CWD$
{{Cl|RMDIR}} "a_temporary_dir"
{{CodeEnd}}

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


{{PageSeeAlso}}
* [[CHDIR]] {{text|(Change the current working directory)}}
* [[RMDIR]] {{text|(Remove a directory in the file system)}}
* [[KILL]] {{text|(Delete a file in the file system)}}
* [[MKDIR]] {{text|(Create a directory in the file system)}}
* [[_OS$]] {{text|(returns current OS to program)}}
* [[_STARTDIR$]] {{text|(returns path the user called program from)}} 


{{PageNavigation}}
