diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index e7d6f01..ff233ac 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -6041,8 +6041,8 @@
 
 						*'shellxquote'* *'sxq'*
 'shellxquote' 'sxq'	string	(default: "";
-					for Win32, when 'shell' contains "sh"
-					somewhere: "\""
+					for Win32, when 'shell' is cmd.exe or
+					contains "sh" somewhere: "\""
 					for Unix, when using system(): "\"")
 			global
 			{not in Vi}
@@ -6050,11 +6050,12 @@
 	the "!" and ":!" commands.  Includes the redirection.  See
 	'shellquote' to exclude the redirection.  It's probably not useful
 	to set both options.
-	This is an empty string by default.  Known to be useful for
-	third-party shells when using the Win32 version, such as the MKS Korn
-	Shell or bash, where it should be "\"".  The default is adjusted
-	according the value of 'shell', to reduce the need to set this option
-	by the user.  See |dos-shell|.
+	This is an empty string by default on most systems, but is known to be
+	useful for on Win32 version, either for cmd.exe which automatically
+	strips off the first and last quote on a command, or 3rd-party shells
+	such as the MKS Korn Shell or bash, where it should be "\"".  The
+	default is adjusted according the value of 'shell', to reduce the need
+	to set this option by the user.  See |dos-shell|.
 	This option cannot be set from a |modeline| or in the |sandbox|, for
 	security reasons.
 
diff --git a/src/option.c b/src/option.c
index 033a6d2..04db07b 100644
--- a/src/option.c
+++ b/src/option.c
@@ -3883,7 +3883,8 @@
 
 #if defined(MSDOS) || defined(WIN3264) || defined(OS2)
     /*
-     * Set 'shellcmdflag and 'shellquote' depending on the 'shell' option.
+     * Set 'shellcmdflag', 'shellxquote', and 'shellquote' depending on the
+     * 'shell' option.
      * This is done after other initializations, where 'shell' might have been
      * set, but only if they have not been set before.  Default for p_shcf is
      * "/c", for p_shq is "".  For "sh" like  shells it is changed here to
@@ -3920,6 +3921,42 @@
 #  endif
 # endif
     }
+    else if (strstr((char *)gettail(p_sh), "cmd.exe") != NULL)
+    {
+	int	idx3;
+
+	/*
+	 * cmd.exe on Windows will strip the first and last double quote given
+	 * on the command line, e.g. most of the time things like:
+	 *   cmd /c "my path/to/echo" "my args to echo"
+	 * become:
+	 *   my path/to/echo" "my args to echo
+	 * when executed.
+	 *
+	 * To avoid this, use the /s argument in addition to /c to force the
+	 * stripping behavior, and also set shellxquote to automatically
+	 * surround the entire command in quotes (which get stripped as
+	 * noted).
+	 */
+
+	/* Set shellxquote default to add the quotes to be stripped. */
+	idx3 = findoption((char_u *)"sxq");
+	if (idx3 >= 0 && !(options[idx3].flags & P_WAS_SET))
+	{
+	    p_sxq = (char_u *)"\"";
+	    options[idx3].def_val[VI_DEFAULT] = p_sxq;
+	}
+
+	/* Set shellcmdflag default to always strip the quotes, note the order
+	 * between /s and /c is important or cmd.exe will treat the /s as part
+	 * of the command to be executed.  */
+	idx3 = findoption((char_u *)"shcf");
+	if (idx3 >= 0 && !(options[idx3].flags & P_WAS_SET))
+	{
+	    p_shcf = (char_u *)"/s /c";
+	    options[idx3].def_val[VI_DEFAULT] = p_shcf;
+	}
+    }
 #endif
 
 #ifdef FEAT_TITLE
diff --git a/src/version.c b/src/version.c
index 35aa34c..2461456 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    443,
+/**/
     442,
 /**/
     441,
