diff --git a/contrib/src/fetch_all_uwp.bat b/contrib/src/fetch_all_uwp.bat
new file mode 100644
index 0000000000000000000000000000000000000000..d79fe4ab51961f929fced81a85b7cc9ffceab31b
--- /dev/null
+++ b/contrib/src/fetch_all_uwp.bat
@@ -0,0 +1,18 @@
+@echo OFF
+SETLOCAL EnableDelayedExpansion
+
+set SRC=%~dp0
+
+set DEPENDENCIES=( ^
+gmp, ^
+gnutls, ^
+iconv, ^
+opendht, ^
+nettle, ^
+pjproject ^
+zlib ^
+)
+
+for %%I in %DEPENDENCIES% do (
+    call %SRC%\%%I\fetch_and_patch.bat
+)
\ No newline at end of file
diff --git a/contrib/src/gmp/fetch_and_patch.bat b/contrib/src/gmp/fetch_and_patch.bat
new file mode 100644
index 0000000000000000000000000000000000000000..b1c8185594cda644ff9964c24be0d4064ca64850
--- /dev/null
+++ b/contrib/src/gmp/fetch_and_patch.bat
@@ -0,0 +1,10 @@
+set BUILD=%SRC%..\build
+
+set REPOURL="https://github.com/ShiftMediaProject/gmp.git"
+
+mkdir %BUILD%
+cd %BUILD%
+
+git clone %REPOURL%
+
+cd %SRC%
\ No newline at end of file
diff --git a/contrib/src/gnutls/fetch_and_patch.bat b/contrib/src/gnutls/fetch_and_patch.bat
index a7c369384d52c76f5943eb0cd2a215ae2d28c73c..6486c0ed563114dbdf292a13d5c88988f8bef2a1 100644
--- a/contrib/src/gnutls/fetch_and_patch.bat
+++ b/contrib/src/gnutls/fetch_and_patch.bat
@@ -1,5 +1,4 @@
-set BUILD=..\..\build
-set SRC=..\..\src
+set BUILD=%SRC%..\build
 
 mkdir %BUILD%
 cd %BUILD%
diff --git a/contrib/src/iconv/fetch_and_patch.bat b/contrib/src/iconv/fetch_and_patch.bat
new file mode 100644
index 0000000000000000000000000000000000000000..df907664b7e8a9fededcfe7f062f9bb98844a31a
--- /dev/null
+++ b/contrib/src/iconv/fetch_and_patch.bat
@@ -0,0 +1,10 @@
+set BUILD=%SRC%..\build
+
+set REPOURL="https://github.com/ShiftMediaProject/libiconv.git"
+
+mkdir %BUILD%
+cd %BUILD%
+
+git clone %REPOURL%
+
+cd %SRC%
\ No newline at end of file
diff --git a/contrib/src/nettle/fetch_and_patch.bat b/contrib/src/nettle/fetch_and_patch.bat
new file mode 100644
index 0000000000000000000000000000000000000000..d8c421119aaaf9e1ce9b6328f592e2a0670e43f5
--- /dev/null
+++ b/contrib/src/nettle/fetch_and_patch.bat
@@ -0,0 +1,10 @@
+set BUILD=%SRC%..\build
+
+set REPOURL="https://github.com/ShiftMediaProject/nettle.git"
+
+mkdir %BUILD%
+cd %BUILD%
+
+git clone %REPOURL%
+
+cd %SRC%
\ No newline at end of file
diff --git a/contrib/src/opendht/fetch_and_patch.bat b/contrib/src/opendht/fetch_and_patch.bat
index 061141705284faace2036ad50fe442215a41e106..c5b9794bec5f187c8c63ee2d5bc887dc3bb7e09a 100644
--- a/contrib/src/opendht/fetch_and_patch.bat
+++ b/contrib/src/opendht/fetch_and_patch.bat
@@ -1,5 +1,4 @@
-set BUILD=..\..\build
-set SRC=%~dp0%~1
+set BUILD=%SRC%..\build
 
 set OPENDHT_VERSION=e7295bac7b57540905e287a37904c615de971392
 set OPENDHT_URL="https://github.com/savoirfairelinux/opendht.git"
diff --git a/contrib/src/pjproject/fetch_and_patch.bat b/contrib/src/pjproject/fetch_and_patch.bat
index 6fad6094c2e49db62fe81ec6b2ecdfa6ddb37e70..5d85775a3455fa2adeaa8d54120fcbcd5e2eb529 100644
--- a/contrib/src/pjproject/fetch_and_patch.bat
+++ b/contrib/src/pjproject/fetch_and_patch.bat
@@ -1,13 +1,12 @@
-set BUILD=..\..\build
-set SRC=..\..\src
+set BUILD=%SRC%..\build
 
 mkdir %BUILD%
 wget http://www.pjsip.org/release/2.5.5/pjproject-2.5.5.zip
-unzip pjproject-2.5.5.zip -d ..\..\build
+unzip pjproject-2.5.5.zip -d %BUILD%
 del pjproject-2.5.5.zip
-rename ..\..\build\pjproject-2.5.5 pjproject
+rename %BUILD%\pjproject-2.5.5 pjproject
 
-cd ..\..\build\pjproject
+cd %BUILD%\pjproject
 
 git apply --reject --whitespace=fix %SRC%\pjproject\intptr_t.patch
 git apply --reject --whitespace=fix %SRC%\pjproject\pj_win.patch
diff --git a/contrib/src/zlib/fetch_and_patch.bat b/contrib/src/zlib/fetch_and_patch.bat
new file mode 100644
index 0000000000000000000000000000000000000000..627e80316b86315acf79f1013884442050aedee3
--- /dev/null
+++ b/contrib/src/zlib/fetch_and_patch.bat
@@ -0,0 +1,10 @@
+set BUILD=%SRC%..\build
+
+set REPOURL="https://github.com/ShiftMediaProject/zlib.git"
+
+mkdir %BUILD%
+cd %BUILD%
+
+git clone %REPOURL%
+
+cd %SRC%
\ No newline at end of file