diff --git a/winpath.sh b/winpath.sh
new file mode 100755
index 0000000..d39fb70
--- /dev/null
+++ b/winpath.sh
@@ -0,0 +1,71 @@
+#!/bin/sh
+# Copyright (C) 1999-2009 ImageMagick Studio LLC
+# Copyright (C) 2003 - 2008 GraphicsMagick Group
+#
+# This program is covered by multiple licenses, which are described in
+# LICENSE. You should have received a copy of LICENSE with this
+# package; otherwise see http://www.imagemagick.org/script/license.php.
+#
+# Convert the specified POSIX path to a Windows path under MinGW and Cygwin
+# The optional second parameter specifies the level of backslash escaping
+# to apply for each Windows backslash position in order to support varying
+# levels of variable substitutions in scripts.
+#
+# Note that Cygwin includes the 'cygpath' utility, which already provides
+# path translation capability.
+#
+# Written by Bob Friesenhahn, June 2002
+#
+arg="$1"
+escapes=0
+if test -n "$2"
+then
+ escapes="$2"
+fi
+if test $escapes -gt 3
+then
+ echo "$0: escape level must in range 0 - 3"
+ exit 1
+fi
+result=''
+length=0
+max_length=0
+mount | sed -e 's:\\:/:g' | (
+ IFS="\n"
+ while read mount_entry
+ do
+ win_mount_path=`echo "$mount_entry" | sed -e 's: .*::g'`
+ unix_mount_path=`echo "$mount_entry" | sed -e 's:.* on ::;s: type .*::'`
+ temp=`echo "$arg" | sed -e "s!^$unix_mount_path!$win_mount_path!"`
+ if test "$temp" != "$arg"
+ then
+ candidate="$temp"
+ length=${#unix_mount_path}
+ if test $length -gt $max_length
+ then
+ result=$candidate
+ max_length=$length
+ fi
+ fi
+ done
+ if test -z "$result"
+ then
+ echo "$0: path \"$arg\" is not mounted"
+ exit 1
+ fi
+ case $escapes in
+ 0)
+ echo "$result" | sed -e 's:/:\\:g'
+ ;;
+ 1)
+ echo "$result" | sed -e 's:/:\\\\:g'
+ ;;
+ 2)
+ echo "$result" | sed -e 's:/:\\\\\\\\:g'
+ ;;
+ 3)
+ echo "$result" | sed -e 's:/:\\\\\\\\\\\\\\\\:g'
+ ;;
+ esac
+ exit 0;
+ )