diff --git a/src/tools/msvc/build.bat b/src/tools/msvc/build.bat
index 4001ac1d0d1..407b6559cfb 100755
--- a/src/tools/msvc/build.bat
+++ b/src/tools/msvc/build.bat
@@ -3,4 +3,4 @@ REM src/tools/msvc/build.bat
 REM all the logic for this now belongs in build.pl. This file really
 REM only exists so you don't have to type "perl build.pl"
 REM Resist any temptation to add any logic here.
-@perl build.pl %*
+@perl %~dp0\build.pl %*
diff --git a/src/tools/msvc/install.bat b/src/tools/msvc/install.bat
index d03277eff2b..98edf6bdffb 100644
--- a/src/tools/msvc/install.bat
+++ b/src/tools/msvc/install.bat
@@ -3,4 +3,4 @@ REM src/tools/msvc/install.bat
 REM all the logic for this now belongs in install.pl. This file really
 REM only exists so you don't have to type "perl install.pl"
 REM Resist any temptation to add any logic here.
-@perl install.pl %*
+@perl %~dp0\install.pl %*
diff --git a/src/tools/msvc/vcregress.bat b/src/tools/msvc/vcregress.bat
index a981d3a6aa1..0d65c823e13 100644
--- a/src/tools/msvc/vcregress.bat
+++ b/src/tools/msvc/vcregress.bat
@@ -3,4 +3,4 @@ REM src/tools/msvc/vcregress.bat
 REM all the logic for this now belongs in vcregress.pl. This file really
 REM only exists so you don't have to type "perl vcregress.pl"
 REM Resist any temptation to add any logic here.
-@perl vcregress.pl %*
+@perl %~dp0\vcregress.pl %*
