On Microsoft Windows and Mac OS X there are various special folders used for application data and user data. Here are some examples of the folder for application data which is shared between all users.
C:\Documents and Settings\All Users.WINDOWS\Application Data
C:\Documents and Settings\All Users\Application Data
The locations and folder names can differ between versions of the operating system, therefore it is useful to have a system-independent way to get the path at runtime. The function
system:get-folder-path
can be used to retrieve the path to special folders. Directory pathnames corresponding to each of the examples above can be obtained by calling:
(sys:get-folder-path :common-appdata)
Here is another example of differences between operating systems. On Windows Vista:
(sys:get-folder-path :my-documents)
=>
#P"C:/Users/dubya/Documents/"
(sys:get-folder-path :my-documents)
=>
#P"C:/My Documents/"
(sys:get-folder-path :my-documents)
=>
#P"/u/ldisk/dubya/Documents/"
See the
LispWorks Reference Manual
for more details of
sys:get-folder-path
.
On Windows NT-based systems there is a profile folder for each user. You can find the profile path for the current user with the function
sys:get-user-profile-directory
. See the
LispWorks Reference Manual
for more details.