Set a path variable with spaces in the path in a Windows .cmd file or batch file
Solution 1:
Try something like this:
SET MY_PATH=C:\Folder with a space
"%MY_PATH%\MyProgram.exe" /switch1 /switch2
Solution 2:
I use
set "VAR_NAME=<String With Spaces>"
when updating path:
set "PATH=%UTIL_DIR%;%PATH%"
Solution 3:
There are two options here. First, you can store the path unquoted and just quote it later:
set MyPath=C:\Program Files\Foo
"%MyPath%\foo with spaces.exe" something
Another option you could use is a subroutine which alles for un-quoting strings (but in this case it's actually not a very good idea since you're adding quotes, stripping them away and re-adding them again without benefit):
set MyPath="C:\Program Files\Foo"
call :foo %MyPath%
goto :eof
:foo
"%~1\foo.exe"
goto :eof
The %~1
removes quotation marks around the argument. This comes in handy when passing folder names around quoted but, as said before, in this particular case it's not the best idea :-)
Solution 4:
Try this;
-
create a variable as below
SET "SolutionDir=C:\Test projects\Automation tests\bin\Debug"**
-
Then replace the path with variable. Make sure to add quotes for starts and end
vstest.console.exe "%SolutionDir%\Automation.Specs.dll"
Solution 5:
I always place the path in double quotes when I am creating a .bat file. (I just added the PAUSE so it wont close the screen.)
For example:
"C:\Program Files\PageTech\PCLReader64_131\PCLReader64.exe"
PAUSE