Result Type: A file handle or NULL
Definition: Opens an existing file or, if the mode is "w" or "a", creates a new file. On success, a file handle is returned which you can use with the other File_ functions, otherwise a value of NULL is returned. When creating a new file, any existing file at the given path is replaced. File handles may be compared to 0 but are otherwise opaque.
The path may be a fully-qualified path (but see note below), or if it is a simple file name or partial path it will be assumed to be located withing the default script files directory.
If path is the empty string, a file open/save panel is presented to get the file location. If the user cancels this dialog, the return value of the function is 0.
valid modes:
"r" Open file for reading (the default)"w" Truncate to zero length or create file for writing."a" Append; open or create file for writing at end-of-file."r+" Open file for update (reading and writing).Example:
let fd = File_Open("a file in the MoneyWorks Automation dir.txt")
if fd <> NULL
let content = File_read(fd) // read the entire file
File_Close(fd)
endif
Default script files directory and safe paths
The default location for files created by scripts (where a fully-qualified path name is not supplied) is a folder named "Automation Files" inside the user's app support folder. This folder will be created automatically if it does not exist.
The user can specify a list of safe directories in their application preferences, the first of which will be used as the default location for partial paths supplied to `File_Open()`. If no directories are specified, the default location (as above) is used.
If you supply a fully-qualified path (beginning at root), it must resolve to a directory that is one of the default "safe" directories, or to a directory that the user has added to the safe script access directory list in their application preferences. Accessing a path that is not designated safe will result in your script receiving a privilege violation error (so you should never attempt to access unsafe paths).
The default "safe" directories are:
On Windows, you can't access files with file extensions that denote executable files.
Note: If you change the safe paths in the app preferences, make sure the first safe path is a writeable directory. Do not make the first path C:\ on Windows because that is not writeable, and many scripts may fail when they try to create files in that location.
Availability: available within MWScript handlers.
See Also:
AddSafePath: UI to add a safe path to the preferences
BaseName: Filename from a path
CreateFolder: Create a new folder
File_Close: File functions for creating/reading/writing text files
File_GetLength: File length in bytes
File_GetMark: Get current read/write position
File_Move: Rename/move a file
File_Path: Get the full path of an open file
File_Read: Read text from current position
File_ReadLine: Read to end of line from current position
File_SetMark: Set Current read/write position
File_Write: Write text at current position
Unzip: Unzip a file into a directory
WriteToTempFile: Create a temp file containing the string