diff --git a/runtime/indent/dosbatch.vim b/runtime/indent/dosbatch.vim
new file mode 100644
index 0000000..aea2a18
--- /dev/null
+++ b/runtime/indent/dosbatch.vim
@@ -0,0 +1,59 @@
+" Vim indent file
+" Language:	MSDOS batch file (with NT command extensions)
+" Maintainer:	Ken Takata
+" URL:		https://github.com/k-takata/vim-dosbatch-indent
+" Last Change:	2017 May 10
+" Filenames:	*.bat
+" License:	VIM License
+
+if exists("b:did_indent")
+  finish
+endif
+let b:did_indent = 1
+
+setlocal nosmartindent
+setlocal noautoindent
+setlocal indentexpr=GetDosBatchIndent(v:lnum)
+setlocal indentkeys=!^F,o,O
+setlocal indentkeys+=0=)
+
+if exists("*GetDosBatchIndent")
+  finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+function! GetDosBatchIndent(lnum)
+  let l:prevlnum = prevnonblank(a:lnum-1)
+  if l:prevlnum == 0
+    " top of file
+    return 0
+  endif
+
+  " grab the previous and current line, stripping comments.
+  let l:prevl = substitute(getline(l:prevlnum), '\c^\s*\%(@\s*\)\?rem\>.*$', '', '')
+  let l:thisl = getline(a:lnum)
+  let l:previ = indent(l:prevlnum)
+
+  let l:ind = l:previ
+
+  if l:prevl =~? '^\s*@\=if\>.*(\s*$' ||
+        \ l:prevl =~? '\<do\>\s*(\s*$' ||
+        \ l:prevl =~? '\<else\>\s*\%(if\>.*\)\?(\s*$' ||
+        \ l:prevl =~? '^.*\(&&\|||\)\s*(\s*$'
+    " previous line opened a block
+    let l:ind += shiftwidth()
+  endif
+  if l:thisl =~ '^\s*)'
+    " this line closed a block
+    let l:ind -= shiftwidth()
+  endif
+
+  return l:ind
+endfunction
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim: ts=8 sw=2 sts=2
diff --git a/runtime/indent/teraterm.vim b/runtime/indent/teraterm.vim
index 370283c..35d7354 100644
--- a/runtime/indent/teraterm.vim
+++ b/runtime/indent/teraterm.vim
@@ -1,9 +1,9 @@
 " Vim indent file
 " Language:	Tera Term Language (TTL)
-"		Based on Tera Term Version 4.92
+"		Based on Tera Term Version 4.100
 " Maintainer:	Ken Takata
 " URL:		https://github.com/k-takata/vim-teraterm
-" Last Change:	2017 Jun 13
+" Last Change:	2018-08-31
 " Filenames:	*.ttl
 " License:	VIM License
 
