FILEPATH Function
Standard Library function that returns the file path to use to open a file, when given a file name within the PV‑WAVE distribution.
Optionally, can also return the file name of the user’s terminal and the default location for temporary files for the current operating system.
Usage
result = FILEPATH(filename)
Input Parameters
filename—A string containing the name of a file. Must be in all lowercase. Do not enter any device or directory information.
Returned Value
result—The fully qualified file path for filename.
Keywords
Subdirectory—The name of the subdirectory in the PV‑WAVE distribution area in which filename is located.
Terminal—The file name of the user’s terminal.
Tmp—The path to the default location for temporary files for the current operating system (filename is a temporary or “scratch” file).
Discussion
FILEPATH is used to get path information for a file. It is not a search facility, but simply builds the file path by padding information based on the operating system and keyword information passed into the function in the system variable !Dir.
FILEPATH does not check for the existence of filename, but rather only contracts a fully qualified pathname. It does account for operating system dependencies.
This routine is useful when you are writing a procedure that will be used on different platforms that support PV‑WAVE and will open files in thePV‑WAVE distribution.
UNIX Examples
PRINT, FILEPATH('wvstartup') ; PV-WAVE prints: ; <RW_DIR>/wave/wvstartup ; Where <RW_DIR> is the PV-WAVE installation directory. full_name = FILEPATH('errplot', Subdirectory='lib/std') PRINT, full_name ; PV-WAVE prints: ; <RW_DIR>/wave/lib/std/errplot ; Where <RW_DIR> is the PV-WAVE installation directory. PRINT, FILEPATH('dummy',/Terminal) ; PV-WAVE prints: /dev/tty PRINT, FILEPATH('scratch10',/Tmp) ; PV-WAVE prints: /tmp/scratch10
Windows Examples
full_name = FILEPATH('errplot', Subdirectory='lib\std') PRINT, full_name ; PV-WAVE output is similar to: ; C:\RW\wave\lib\std\errplot PRINT, FILEPATH('scratch10', /Tmp) ; PV-WAVE output is similar to: ; C:\Users\guest\AppData\Local\Temp\scratch10