• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/sh
2# Copyright 1994 David C. Niemi
3# Copyright 1994,1997,2001,2002 Alain Knaff.
4# This file is part of mtools.
5#
6# Mtools is free software: you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation, either version 3 of the License, or
9# (at your option) any later version.
10#
11# Mtools is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with Mtools.  If not, see <http://www.gnu.org/licenses/>.
18#
19# mcheck [ <DOS drive letter> ]
20#
21# Read every file on an MS-DOS formatted disk to make sure they're good.
22#
23# Requires: mdir and mread utilities from mtools in user's path.
24#
25# 1994/02/19	DCN	Created
26# 1994/??/??	ALK	Added case statement for results of mdir
27# 1994/09/24	DCN	Cleanup (5 minutes on top of the 30 seconds creating it)
28# 1994/12/01	DCN	Better comments, notices to stderr
29#
30# Copyright (C) 1994 David C. Niemi (niemi@tuxers.net)
31# The author requires that any copies or derived works include this
32# copyright notice; no other restrictions are placed on its use.
33#
34
35set -e
36set -u
37
38DRIVE=${1:-'A:'}
39mdir ${DRIVE}'*'
40case $? in
412)
42	echo "No files on disk." >&2
43	exit 0
44	;;
451)
46	exit 1
47	;;
480)
49	;;
50esac
51
52echo >&2; echo "Verifying files on drive ${DRIVE}..." >&2
53if mtype -/ ${DRIVE}\* > /dev/null; then
54	echo "Disk in drive ${DRIVE} is OK." >&2
55	exit 0
56else
57	echo "Disk in drive ${DRIVE} has errors." >&2
58	exit 1
59fi
60
61## NOTREACHED ##
62