CWD$: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
m (Removed protection from "CWD$")
No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 4: Line 4:




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


Line 15: Line 15:
* Works in Windows, macOS and Linux. [[_OS$]] can be used by a program to predict the proper slash separations in different OS's.
* Works in Windows, macOS and Linux. [[_OS$]] can be used by a program to predict the proper slash separations in different OS's.


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


Line 22: Line 21:
{{PageExamples}}
{{PageExamples}}
''Example:'' Get the current working directory, and move around the file system:
''Example:'' Get the current working directory, and move around the file system:
{{CodeStart}} '' ''
{{CodeStart}}
startdir$ = _CWD$
startdir$ = {{Cl|_CWD$}}
{{Cl|PRINT}} "We started at "; startdir$
{{Cl|PRINT}} {{Text|<nowiki>"We started at "</nowiki>|#FFB100}}; startdir$
{{Cl|MKDIR}} "a_temporary_dir"
{{Cl|MKDIR}} {{Text|<nowiki>"a_temporary_dir"</nowiki>|#FFB100}}
{{Cl|CHDIR}} "a_temporary_dir"
{{Cl|CHDIR}} {{Text|<nowiki>"a_temporary_dir"</nowiki>|#FFB100}}
{{Cl|PRINT}} "We are now in "; _CWD$
{{Cl|PRINT}} {{Text|<nowiki>"We are now in "</nowiki>|#FFB100}}; {{Cl|_CWD$}}
{{Cl|CHDIR}} startdir$
{{Cl|CHDIR}} startdir$
{{Cl|PRINT}} "And now we're back in "; _CWD$
{{Cl|PRINT}} {{Text|<nowiki>"And now we're back in "</nowiki>|#FFB100}}; {{Cl|_CWD$}}
{{Cl|RMDIR}} "a_temporary_dir"
{{Cl|RMDIR}} {{Text|<nowiki>"a_temporary_dir"</nowiki>|#FFB100}}
{{CodeEnd}}
{{CodeEnd}}
 
{{OutputStart}}
{{OutputStart}}We started at C:\QB64
We started at C:\QB64
We are now in C:\QB64\a_temporary_dir
We are now in C:\QB64\a_temporary_dir
And now we're back in C:\QB64
And now we're back in C:\QB64
Line 40: Line 39:


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




{{PageNavigation}}
{{PageNavigation}}

Latest revision as of 22:18, 21 March 2023


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


Syntax

workingDirectory$ = _CWD$


Description

  • 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.

Errors

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


Examples

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)



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link