Question

Running FME workspace from cmd. What is the difference in using fme.exe and fme in command line arguments?

  • 31 January 2020
  • 2 replies
  • 92 views

I am running fme from cmd and while passing command line parameters to run workspace I use cmd.exe at the start e.g.

fme.exe C:\\Maps\\OraDWG.FMW --BoundaryName PTCL526 ...

and if I use a same command but without using .exe in command like -

fme C:\\Maps\\OraDWG.FMW --BoundaryName PTCL526 ...

It's still running the workspace.

So my doubt here is that what is the difference in using .exe? Does it use extra floating license instead of using one that is dedicated for this workspace. We have few more floating licenses.


2 replies

Userlevel 2
Badge +16

No difference at all.

If you have multiple versions of FME on your machine, I would suggest adding the path to the executable.

If the path is omitted, the first FME.exe in the PATH setting will be used.

Badge +3

As @erik_jan says, they there is no difference. However, because FME has both a 32 bit and a 64 bit version installed, I would highly recommend using the full path to the version that you want to run.

The reason why the command works in the way that you are using it is nothing to do with FME, but rather Windows functionality. Windows has 2 Environment Variables that can be set:

  • PATH - This provides hints to software, such as the command-line, as to where to look for files when the user does not specify which Path to use. When FME is installed it adds its own entries to the PATH variable "C:\\Program Files (x86)\\FME\\" and "C:\\Program Files\\FME\\". So if a user attempts to execute "fme.exe" with no Path specified, then Windows will search through all the folders set in the PATH variable until it finds a matching file.
  • PATHEXT - This provides hints to software, such as the command-line, as to what File Extensions to try to execute when the user does not specify it. It attempts each extension type in the order set in the PATHEXT variable, so Eg. .COM first, then .EXE , then .BAT etc.

So if you run "FME" from the command-line, Windows will first search through the PATH folders to find a matching file name, say "C:\\Progam Files (x86)\\FME\\FME.xxx" and then try to see if it will run by substituting any of the PATHEXT file extension variables for xxx such as "C:\\Program Files (x86)\\FME\\FME.EXE"

You can look at, and set these Windows Environment Variables by running the utility "Edit the system environment variables" in Windows 10 or equivalent in other versions.

Reply