diff --git a/src/testdir/test_xxd.vim b/src/testdir/test_xxd.vim
index b2ad25f..0ddcff0 100644
--- a/src/testdir/test_xxd.vim
+++ b/src/testdir/test_xxd.vim
@@ -1,6 +1,10 @@
 " Test for the xxd command
-if empty($XXD) || !executable($XXD)
+if empty($XXD) && executable('..\xxd\xxd.exe')
+  let s:xxd_cmd = '..\xxd\xxd.exe'
+elseif empty($XXD) || !executable($XXD)
   finish
+else
+  let s:xxd_cmd = $XXD
 endif
 
 func! PrepareBuffer(lines)
@@ -15,11 +19,12 @@
 
 func! Test_xxd()
   call PrepareBuffer(range(1,30))
+  set ff=unix
   w XXDfile
 
   " Test 1: simple, filter the result through xxd
   let s:test = 1
-  %!$XXD %
+  exe '%!' . s:xxd_cmd . ' %'
   let expected = [
         \ '00000000: 310a 320a 330a 340a 350a 360a 370a 380a  1.2.3.4.5.6.7.8.',
         \ '00000010: 390a 3130 0a31 310a 3132 0a31 330a 3134  9.10.11.12.13.14',
@@ -31,23 +36,23 @@
 
   " Test 2: reverse the result
   let s:test += 1
-  %!$XXD -r
+  exe '%!' . s:xxd_cmd . ' -r'
   call assert_equal(map(range(1,30), {v,c -> string(c)}), getline(1,'$'), s:Mess(s:test))
 
   " Test 3: Skip the first 30 bytes
   let s:test += 1
-  %!$XXD -s 0x30 %
+  exe '%!' . s:xxd_cmd . ' -s 0x30 %'
   call assert_equal(expected[3:], getline(1,'$'), s:Mess(s:test))
 
   " Test 4: Skip the first 30 bytes
   let s:test += 1
-  %!$XXD -s -0x31 %
+  exe '%!' . s:xxd_cmd . ' -s -0x31 %'
   call assert_equal(expected[2:], getline(1,'$'), s:Mess(s:test))
 
   " Test 5: Print 120 bytes as continuous hexdump with 20 octets per line
   let s:test += 1
   %d
-  0r! $XXD -l 120 -ps -c 20 ../../runtime/doc/xxd.1
+  exe '0r! ' . s:xxd_cmd . ' -l 120 -ps -c 20 ../../runtime/doc/xxd.1'
   $d
   let expected = [
       \ '2e54482058584420312022417567757374203139',
@@ -61,7 +66,7 @@
   " Test 6: Print the date from xxd.1
   let s:test += 1
   %d
-  0r! $XXD -s 0x36 -l 13 -c 13 ../../runtime/doc/xxd.1
+  exe '0r! ' . s:xxd_cmd . ' -s 0x36 -l 13 -c 13 ../../runtime/doc/xxd.1'
   $d
   call assert_equal('00000036: 3231 7374 204d 6179 2031 3939 36  21st May 1996', getline(1), s:Mess(s:test))
 
@@ -69,7 +74,7 @@
   let s:test += 1
   call writefile(['TESTabcd09'], 'XXDfile')
   %d
-  0r! $XXD -i XXDfile
+  exe '0r! ' . s:xxd_cmd . ' -i XXDfile'
   $d
   let expected = ['unsigned char XXDfile[] = {',
         \ '  0x54, 0x45, 0x53, 0x54, 0x61, 0x62, 0x63, 0x64, 0x30, 0x39, 0x0a', '};',
@@ -80,7 +85,7 @@
   let s:test += 1
   call writefile(['TESTabcd09'], 'XXDfile')
   %d
-  0r! $XXD -i -C XXDfile
+  exe '0r! ' . s:xxd_cmd . ' -i -C XXDfile'
   $d
   let expected = ['unsigned char XXDFILE[] = {',
         \ '  0x54, 0x45, 0x53, 0x54, 0x61, 0x62, 0x63, 0x64, 0x30, 0x39, 0x0a', '};',
@@ -91,7 +96,13 @@
   let s:test += 1
   call delete('XXDfile')
   bwipe! XXDfile
-  call system('echo "010000: 41"|'.$XXD.' -r -s -0x10000 > XXDfile')
+  if has('unix')
+    call system('echo "010000: 41"|' . s:xxd_cmd . ' -r -s -0x10000 > XXDfile')
+  else
+    call writefile(['010000: 41'], 'Xinput')
+    silent exe '!' . s:xxd_cmd . ' -r -s -0x10000 < Xinput > XXDfile'
+    call delete('Xinput')
+  endif
   call PrepareBuffer(readfile('XXDfile')[0])
   call assert_equal('A', getline(1), s:Mess(s:test))
   call delete('XXDfile')
diff --git a/src/version.c b/src/version.c
index 46d12cc..2b41fae 100644
--- a/src/version.c
+++ b/src/version.c
@@ -763,6 +763,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1695,
+/**/
     1694,
 /**/
     1693,
