bat script to start excel without hardcoded path and with command line options

I need to write a .bat script that will start excel on a specific file.

The hard part is that I don't know the exact path that excel is installed to.

Additionally, I need to start it with an option to make it readonly.

Here is some background to put the problem in context: Currently the .bat file looks like this:

"C:\My\Path\To\excel.exe" /r "S:\The\Path\To\File.xlsx"

That file is on a shared drive. The user has a shortcut to to that file on their desktop.

When the user clicks on the short cut excel starts on File.xlsx.

But, when another user with a different path to excel does the same thing, the script just flashes the cmd window.

As an aside, I would also like to find a way to eliminate the cmd window from cluttering the screen while this is running.

This is related to this question: Allow multiple people to work with single readonly excel file

I tried making a short cut on the file and making the target:

start excel /r "S:\The\Path\To\File.xlsx"

But if failed with this message: enter image description here


I can't test this at the moment, but I believe you can avoid the batch file. Simply create a shortcut with the following target:

Edit: Try the following for a batch file:

START excel.exe /r "S:\The\Path\To\File.xlsx"
EXIT

Also, I believe you could incorporate the registry key value for the Excel installation path by running the following batch command:

 reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\excel.exe"

I could not get the START to work in a shortcut because it requires a command line. I used the following and works great:

C:\Windows\System32\cmd.exe /c START excel.exe /r "Use the UNC path so you don't have to map drive here\File.xlsx"

When you put in cmd.exe it automatically hard codes the path C:\Windows\System32\cmd.exe
You can use %systemroot%\Systems32\cmd.exe..... to avoid hardcoding as much as possible.