diff --git a/win/build-all.cmd b/win/build-all.cmd
new file mode 100644
index 0000000000..91caa9786c
--- /dev/null
+++ b/win/build-all.cmd
@@ -0,0 +1,32 @@
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: ::
+:: This file is part of IfcOpenShell. ::
+:: ::
+:: IfcOpenShell is free software: you can redistribute it and/or modify ::
+:: it under the terms of the Lesser GNU General Public License as published by ::
+:: the Free Software Foundation, either version 3.0 of the License, or ::
+:: (at your option) any later version. ::
+:: ::
+:: IfcOpenShell is distributed in the hope that it will be useful, ::
+:: but WITHOUT ANY WARRANTY; without even the implied warranty of ::
+:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ::
+:: Lesser GNU General Public License for more details. ::
+:: ::
+:: You should have received a copy of the Lesser GNU General Public License ::
+:: along with this program. If not, see . ::
+:: ::
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+
+:: TODO Allow passing cmd line args
+@echo off
+:: Use "yes" trick to break the pause in build-deps.cmd
+echo y>y.txt
+call .\build-deps - - Created by build-deps.cmd, for a certain VS version and target architecture
+---installed-vs- - Created by building the IFCOS's INSTALL project
\---win
+| build-all.cmd - Runs all of the build scripts for IFCOS and it dependencies in a row without pauses
| build-deps.cmd - Fetches and builds all needed dependencies for IFCOS
| BuildDepsCache-.txt - Cache file created by build-deps.cmd
| build-ifcopenshell.cmd - Builds IFCOS
diff --git a/win/run-cmake.bat b/win/run-cmake.bat
index b3b7e1cd4c..7d482bc87e 100644
--- a/win/run-cmake.bat
+++ b/win/run-cmake.bat
@@ -97,14 +97,15 @@ REM ) ELSE (
REM )
echo.
+set IFCOS_SCRIPT_RET=0
goto :Finish
:Error
echo.
call %~dp0\utils\cecho.cmd 0 12 "An error occurred! Aborting!"
+set IFCOS_SCRIPT_RET=1
goto :Finish
:Finish
popd
-set PATH=%ORIGINAL_PATH%
-endlocal
+exit /b %IFCOS_SCRIPT_RET%