Skip to main content
hadih26673991
Inspiring
August 24, 2020
Answered

ExtendScript: how to find user's home directory

  • August 24, 2020
  • 2 replies
  • 2008 views

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 topic has been closed for replies.
Correct answer Ian Proudfoot

This is how I would find the path:

var scriptPath = Folder(File($.fileName).path).fsName;

2 replies

Ian Proudfoot
Legend
August 25, 2020

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. 

hadih26673991
Inspiring
August 25, 2020

Awseome. Then I would only need to remove the filename itself to get the path.

Ian Proudfoot
Ian ProudfootCorrect answer
Legend
August 25, 2020

This is how I would find the path:

var scriptPath = Folder(File($.fileName).path).fsName;
frameexpert
Community Expert
Community Expert
August 24, 2020

In your script, you can use

app.UserSettingsDir

to give you the 15 folder (for FrameMaker 2019), etc. Does this help?

www.frameexpert.com
hadih26673991
Inspiring
August 25, 2020

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).