User to user discussion and support for UltraEdit, UEStudio, UltraCompare, and other IDM applications.

Project, workspace, and file management issues
5 posts Page 1 of 1
Hello all,

either I'm doing something wrong or misinterpreting the help file, so decided to ask here in case someone else has already figured out the correct answer:

I have a folder where all project files are saved (c:\ueprojects\project1.prj etc), and actual project1 contains source files from c:\project1\ folder ('c:\project1' is specified as the project directory in project1.prj).

I'm creating a tool that needs to be aware of which project (which folder) it is run from, so I try to use %RP parameter to read the project path, expecting to get 'c:\project1', but instead it gives me the folder where prj files themselves are stored (c:\ueprojects)...

Is this the intended behavior? And if is, is there any other way (other than opening the project1.prj file and searching in it for the project path) to get the path for the current project?

Thanks for all the advice.
Indeed, the help page Tool Configuration command is not clear enough at the moment regarding the information you need. %RP (short 8.3 format) respectively %rp (long format) is a placeholder for path of the project file *.prj. It can be seen just indirectly because of %r (full file name with path) and %rn (just file name) which would not make sense if the configured project directory would be referenced with %rp.

There is no variable for the configured project directory. You might send a feature request email to IDM support asking for a variable referencing the configured project directory.

If all your projects are subdirectories in the same parent directory and the project file name is equal the project directory name, you may easily build the project directory path by using the project file name.

Another solution would be to extract the configured project directory path from the *.prj file. This can be done by configuring a batch file as user/project tool with "%r" or %R containing following lines:

Code: Select all
@echo off
for /f "usebackq eol=[ tokens=1,2 delims==" %%A in (%1) do (
 if "%%A"=="Project Directory" (
  set ProjPath=%%B
  goto !FoundProjPath

This little code searches in the file with file name passed to the batch file as first parameter line by line for the string Project Directory followed by an equal sign and a string value assigned to environment variable ProjPath. The for loop is exited when project directory entry in the project file was found. Lines starting with [ are skipped to make the find for the really wanted value a little bit faster.
I just happened to hit this same speed bump.

Since you are already creating a user tool, might I suggest you go ahead and pass the project file name (%r) to this tool, and program the tool to take in this project file and locate the project path from the project file, as it would be faster than the batch file.

Either way, it's an awkward workaround. I, personally, like to keep one path for all my project files in one neat location, then my project folders might be in a number of different locations, depending on whether I'm coding for a website (each site has to have a different physical location for the web server), coding a desktop application (which I don't want to be in the web server path), etc.

It's easier to keep project files in one location, since I generally don't have more than 20 projects at once, and since it is easier to open a project when I don't have to "browse" around to remember where I put it!

I'll also send in a feature request for this.
good, so I'm not completely crazy to think that it was not trivial :)
I needed this to call an external program with a specific file from the active project, so I guess the easiest would be to pass the project file name as a parameter and parse all folder paths outside.

Thanks for the responses!
I sent a feature request to IDM, and got back the following reply:
Thank you for your message. I understand the dilemma here and agree with your feedback. We will consider changing this or making an additional parameter available for user tools to reference the path to the actual project directory shown in the project settings dialog.
5 posts Page 1 of 1