Copy link to clipboard
Copied
I am new to Adobe ExtendScript, I would like to know how I can replace the tilde (~) with the absolute path of user's home directory?
In my script, I need to find the absolute path of the script itself. To do this, I use: var scriptPath = File($.fileName).path
But this gives me a tilde for the first part which is not recognized by the FrameMaker as user's home directory; therefore, I cannot use it to pinpoint where my files are located.
This is how I would find the path:
var scriptPath = Folder(File($.fileName).path).fsName;
Copy link to clipboard
Copied
In your script, you can use
app.UserSettingsDir
to give you the 15 folder (for FrameMaker 2019), etc. Does this help?
Copy link to clipboard
Copied
Hi Rick,
Thanks. Yes that helped. I was able to extract the user's home directory out of the home directory of FrameMaker folder 16 (in my case).
Copy link to clipboard
Copied
The quick way to get the full path from an ExtendScript file object (in a way that FrameMaker can digest) is as follows:
var scriptPath = File($.fileName).fsName;
fsName provides the platform-specific full path name for the referenced file.
Copy link to clipboard
Copied
Awseome. Then I would only need to remove the filename itself to get the path.
Copy link to clipboard
Copied
This is how I would find the path:
var scriptPath = Folder(File($.fileName).path).fsName;
Copy link to clipboard
Copied
Indeed, this is the shortest and most elegant way of doing it. Thank you!