How to get the path of the batch script in Windows?
%~dp0
may be a relative path.
To convert it to a full path, try something like this:
pushd %~dp0
set script_dir=%CD%
popd
You can use following script to get the path without trailing "\"
for %%i in ("%~dp0.") do SET "mypath=%%~fi"
%~dp0
will be the directory. Here's some documentation on all of the path modifiers. Fun stuff :-)
To remove the final backslash, you can use the :n,m
substring syntax, like so:
SET mypath=%~dp0
echo %mypath:~0,-1%
I don't believe there's a way to combine the %0
syntax with the :~n,m
syntax, unfortunately.