summaryrefslogtreecommitdiff
path: root/scripts/mcheck
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/mcheck')
-rwxr-xr-xscripts/mcheck61
1 files changed, 61 insertions, 0 deletions
diff --git a/scripts/mcheck b/scripts/mcheck
new file mode 100755
index 0000000..f2c917f
--- /dev/null
+++ b/scripts/mcheck
@@ -0,0 +1,61 @@
+#!/bin/sh
+# Copyright 1994 David C. Niemi
+# Copyright 1994,1997,2001,2002 Alain Knaff.
+# This file is part of mtools.
+#
+# Mtools is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Mtools is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Mtools. If not, see <http://www.gnu.org/licenses/>.
+#
+# mcheck [ <DOS drive letter> ]
+#
+# Read every file on an MS-DOS formatted disk to make sure they're good.
+#
+# Requires: mdir and mread utilities from mtools in user's path.
+#
+# 1994/02/19 DCN Created
+# 1994/??/?? ALK Added case statement for results of mdir
+# 1994/09/24 DCN Cleanup (5 minutes on top of the 30 seconds creating it)
+# 1994/12/01 DCN Better comments, notices to stderr
+#
+# Copyright (C) 1994 David C. Niemi (niemi@tuxers.net)
+# The author requires that any copies or derived works include this
+# copyright notice; no other restrictions are placed on its use.
+#
+
+set -e
+set -u
+
+DRIVE=${1:-'A:'}
+mdir ${DRIVE}'*'
+case $? in
+2)
+ echo "No files on disk." >&2
+ exit 0
+ ;;
+1)
+ exit 1
+ ;;
+0)
+ ;;
+esac
+
+echo >&2; echo "Verifying files on drive ${DRIVE}..." >&2
+if mtype -/ ${DRIVE}\* > /dev/null; then
+ echo "Disk in drive ${DRIVE} is OK." >&2
+ exit 0
+else
+ echo "Disk in drive ${DRIVE} has errors." >&2
+ exit 1
+fi
+
+## NOTREACHED ##