jrRaid Posted June 17, 2008 Posted June 17, 2008 We have a few stand alone files, where, at closing the file a backup (copy) is made with script: Set Variable[$Path;Value: Let( [ now = Get ( CurrentTimeStamp ) ; year = Year ( now ) ; month = Right ( "0" & Month ( now ) ; 2 ) ; day = Right ( "0" & Day ( now ) ; 2 ) ; hour = Right ( "0" & Hour ( now ) ; 2 ) ; mins = Right ( "0" & Minute ( now ) ; 2 ) ; secs = Right ( "0" & Seconds ( now ) ; 2 ) ] ; Substitute ( Get ( FilePath ) ; ".fp7" ; "_" & year & month & day & "_" & hour & mins & secs & ".fp7" ) ) Save a Copy as ["$Path";copy] This is working fine. But it saves the copy to the folder where the original file is. How to change the script so the file is saved at a specific location, f.i. /E:/FM8 Files/A name/Project 2008/BUFiles/ I have this path as data in a field in the preference table of the application so it can be changed for each specific local Win computer. I tried a few changes but I always get the error: ...could not be created on this disk..... There is something missing/wrong in my new $Path I think. TIA
bcooney Posted June 17, 2008 Posted June 17, 2008 filewin:/C:/Documents and Settings/j_doe/My Documents/test.xls This example is from FM's help. So, it seems that you are missing the prefix (which can be relative, or platform specific). Rather than repeat what's in help... Also, if you only have one preference record, how will the path change for each account logged in, since they all see the same pref record path?
Matthew Stetson Posted June 17, 2008 Posted June 17, 2008 I keep the path and file name separate, mostly for debugging and simplicity when I need to change the target folder. The format: file:$p/$f works great for me. This also makes it easier manipulate $p per-user, so they have their own custom destination. If you're Windows only, you can use filewin: instead; I like to use the generic form in case a Mac wanders into the mix.
jrRaid Posted June 23, 2008 Author Posted June 23, 2008 Strange, the previous script worked without the filewin.... It's working now, thanks. It's a serie of 25 stand alone computers with the same lab science application on each one of them. The different users can save the files where ever they want on the disk.
bcooney Posted June 25, 2008 Posted June 25, 2008 I believe that your previous script worked (if you are referring to the one in your original post) bcs it used Get (FilePath). This function returns file:/driveletter:/databaseName for local files in Windows. All the Get (**Path) functions include file:. You wanted to build a path, so you need to put the file: in specifically.
comment Posted June 25, 2008 Posted June 25, 2008 All the Get (**Path) functions include file: :qwery:
bcooney Posted June 25, 2008 Posted June 25, 2008 Alright, clarification: Get (FilePath) Get (DesktopPath) etc., begin with file: so you do not need to add it.
comment Posted June 25, 2008 Posted June 25, 2008 Alright, verification: The result of Get (FilePath) begins with "file:". The result of Get (DesktopPath) does NOT. I don't know about etc.
bcooney Posted June 27, 2008 Posted June 27, 2008 Alright, elaboration and correction of my broad generalizations : (from FM's help): Get Functions for Paths: Get(FilePath) Returns the full path indicating the location of the currently active database file. In Windows, the full path is file:/drive:/folder/filename for local files. For remote files, the full path is file://volume/folder/filename. In the Mac OS, the full path is file:/volume/folder/filename for local and remote files. Get(DesktopPath) Returns the path to the desktop folder for the current user. In Windows, the path format is /Drive:/Documents and Settings/UserName/Desktop/. In the Mac OS, the path format is /DriveName/Users/UserName/Desktop/. Get(FileMakerPath) Returns the path to the folder of the currently running copy of FileMaker Pro. In Windows, the path format is /Drive:/Program Files/FileMaker/FileMaker Pro 9.0/. In the Mac OS, the path format is /DriveName/Applications/FileMaker Pro 9.0/. New to FM9: Get(TemporaryPath) Returns the path to the temporary folder that FileMaker Pro uses on the current user's computer. Note Because your operating system controls the location of temporary files, the path returned might be different from the examples shown. Examples Windows Returns: /%HomeDrive%/Documents and Settings/{user id}/Local Settings/Temp or /%UserProfile%/Local Settings/Temp where: %HomeDrive% is an environment variable that returns the name of your home drive on your hard disk %UserProfile% is an environment variable that points to the directory where the profile of the current user is located Mac OS Returns: /DriveName/private/var/tmp/folders/501/TemporaryItems/FileMaker/ where DriveName is the name of your hard disk And so, only Get(FilePath) includes the "file:" prefix that may be needed. Another consideration to be aware of is that the Get(Desktop) and Get(FilemakerPath) functions end with a "/".
Recommended Posts
This topic is 5994 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now