DOSコマンドの使用法

Windowsパソコンのメンテナンスに必要な、代表的なMS-DOSコマンドの使用法を解説します。 より詳細な使用方法についてはヘルプや市販の文献を参照してください。(このページは予告なく変更されます。) ご要望はこちらまで

DOSモードとは

Windows 95 発売後からパソコンを始められた方は、DOS(Disk Operating System)モードってなんじゃらほい、と思われるでしょう。Windowsを使用していく上で避けて通れない機能なので、少しだけ(私見を含みますが)説明しておきます。なお、Windows Me からは使えるコマンドやオプションについて、機能しないものがありますので注意してください。 

Windows 95 が世に出る以前は、DOS/Vパソコンはアイコンもウインドウもなく、真っ黒な画面上で ”C:\>” (DOSプロンプトという)にコマンドを打ち込み使いたいプログラムを実行するという方式を取っていた。(Windows3.1もDOSをベースにして、拡張メモリーに必要なファイルを読み込んで動く仕組みだった。) この時代から継承されている数多くのソフトウェア資産は、その後の Windows で稼動できるように拡張されたものもあるが、シンプルなDOS環境で未だ多くのユーザーを抱えている。さらに、Windows 95/98/Meのメンテナンスツールやアーカイブツールの中には、Windowsの常駐プログラムとの干渉や複雑なプログラミングを嫌い、DOSモードから実行するようデザインされているものも数多くある。
つまり、

1.過去のDOSソフトウェア資産の有効利用
2.メンテナンス上の必要性

のために、結果的にDOSモードなるものが残ってしまったのである。たとえば、Windows 98 ユーザーが DOSモードを起動する最も簡単な方法は、”Windowsの終了”の中の”MS-DOSモードで再起動”することである。成功すると、通常は"C:\Windows>"のプロンプトが表示される。(ブートメニューからもDOSプロンプトに入れます。) 他にWindowsのスタートメニューの”プログラム”から”MS-DOSプロンプト”なるDOS互換モードに入ることができる。一般に、前者の場合は、例えばWindowsのシステムファイル・常駐プログラムの削除や更新を行うなどの重要なメンテナンス手段やシステムコマンドを実行する環境を提供します。 後者は、圧縮ファイルを解凍したり、簡単なDOSゲームソフトを実行できる限定されたDOS環境を提供する。(後者からWindowsの常駐ファイルを更新しようとしてもWindowsがプロテクトするためできない。)使用するDOSプログラムの解説やヘルプを参照して正しい使い方を確認してから使用してください。

DOSの知識は、BIOSやドライバーのインストール/アップデート、HDDなどの区画設定やフォーマット、バッチファイルの作成、システム起動ファイルや構成ファイルなどの編集、トラブル・シューティングなどの際に必要になることがある。Windowsの使い方をひととおりマスターしたら、入門書やWindowsヘルプ(ヘルプとサポート)でDOSモードの使い方をスタディしてみることをおすすめする。
DOSコマンドの使用方法

○コマンドプロンプト

テキストベースのコンピュータのユーザーインタフェースで、コマンド入力のための領域。MS-DOSでは、「C:\Windows>」などと表示される。(「C:」はドライブレター、「\Windows」はカレントディレクトリ(現在のフォルダ)、「>」は、入力を促すプロンプトマークである。(日本語Windowsの場合。)

○コマンドプロンプトの起動と終了

次の起動方法がある。

1.「スタート」メニューをクリックし、「プログラム」、「アクセサリ」、「MS-DOS プロンプト」をクリックする。(XPでは「コマンドプロンプト」)
2.スタートメニュから「ファイル名を指定して実行」を選択し、「command」と入力してOKボタンをクリックする。(XPでは「cmd」)
3.「マイコンピュータ」または「Explorer」で、起動ドライブにある「command.com」をダブルクリックする。(XPでは「cmd.exe」)

MS-DOS プロンプトを終了するには、Xボタンをクリックするか、MS-DOS プロンプトで「exit」と入力する。プログラムの実行中には終了ないでください。

○入力方法とパス

DOSコマンドは、DOSプロンプト(C:\Windows>)からDOSが認識できるコマンドとパラメータを入力しEnterキーを押すことによって実行されます。また、コマンドを拡張子「.bat」のファイルに書き込み、このファイル名を入力して実行できる。

例:C:\>Copy A:\*.txt C:\Temp (フロッピーのルート上の拡張子”txt”のファイルを全て C:ドライブの”Temp”フォルダにコピーする。)

使用目的やオプション・パラメータの意味は、コマンドの後に半角スペース1文字と”/?”を入力してEnterキーを押すと表示される。

例: C:\>Copy /?

DOSでは、フォルダをディレクトリと呼ぶ。初心者がDOSコマンドを使用する際に最も注意しなければならいのはパスの指定である。パスには、絶対パスと相対パスがある。カレントフォルダ(C:\WINDOWS とする)からTempフォルダ(C:\Windows\Temp)のファイル(File1.txt)をA:\に移動する場合の例を紹介する。

A.絶対パスによる指定: C:\WINDOWS>MOVE C:\Windows\Temp\File1.txt A:\
B.相対パスによる指定: C:\WINDOWS>MOVE Temp\File1.txt A:
               = C:\>MOVE Windows\Temp\File1.txt A:
               = C:\WINDOWS\TEMP>MOVE File1.txt A: 
               = A:\>MOVE C:\Windows\Temp\File1.txt A:

常に絶対パス(フルパス)で指定すれば、間違いないが、相対パスで指定する場合はA:とC:の各々のカレントフォルダがどこなのかを理解してそれに応じた指定を行う必要がある。上記の例では、相対パスを使用する場合はカレントフォルダがどこかによって様々な指定方法が考えられる。
また、コマンドによってはワイルドカード(?、*)が利用できるので、効率よく使えばエクスプローラより速く処理できる場合もある。
カレントフォルダの変更は”C:\>CD TEMP”(1つ下のTEMPに変更)、”C:\WINDOWS>CD \”(ルートに変更)、”C:\WINDOWS>CD ..”(1つ上に変更)、”C:\WINDOWS\TEMP>CD ...”(2つ上に変更)のように指定する。

○最新の Windows での注意

Windows の種類により、DOSの機能が制限されているので、コマンドヘルプ(/?)で確認の上、使用してください。コマンドが有効でも無効なエラーメッセージが表示される、などの異常が発生することもある。
Windows Meでは、起動ファイル(Autoexec.bat)や構成ファイル(Config.sys)を読み込まないため、これらのファイルに記述された構文は無視される。

1.Autoexec.bat

コンピュータが起動すると自動的に実行されるコマンドが記述されたバッチファイル。通常、このファイルに記述されたコマンドは PATH 環境変数を設定し、DOS プロンプトの外観を決定し、TSR(Terminate-and-Stay-Resident:DOS常駐プログラムをメモリに読み込む処理)を開始し、コンピュータの起動時に実行しなければならないその他のプログラムを実行する。

2.Config.sys

システムのハードウェアを設定し、デバイスドライバをロードするコマンドが入っているテキストファイル。コンピュータが起動すると自動的に実行される。

●代表的なDOSコマンド

使用頻度が低下しているため CONFIG.SYS で指定する DOSデバイスの指定に関するコマンドは省略する。

コマンド名
入力例
機能
■ディスク/フォルダ/ファイル管理  
ATTRIB ATTRIB -H C:\USER.DAT ファイルの属性(アトリビュート)の表示と変更。
CD、CHDIR CD C:\WINDOWS カレントフォルダを変更。
CHKDSK CHKDSKC: ディスクをチェックし、現在の状態を表示。
COPY COPY A:\*.* C: ファイルのコピー。
DEL、ERASE DEL C:\TEMP\*.* ファイルの削除。
DELTREE DELTRR C:\DOSV ディレクトリツリーを削除。
DIR DIR WIN?.SYS /P
フォルダ内のファイルとフォルダの一覧を表示。
DISKCOPY DISKCOPY A: B: フロッピーディスクのコピー
EDIT EDIT C:\AUTOEXEC.BAT テキストファイルの編集。
FC FC /B C:\WK1.DAT D:\WK2.DAT ファイル(2 個のファイルまたはファイルの集合)の比較。
FDISK FDISK /MBR

HDDの区画(パーティション)を管理。

FIND FIND /I "TMP" C:\AUTOEXEC.BAT ファイルの中からテキスト文字列を検索。
FORMAT FORMAT C: /S

Windows で使用するためのディスクをフォーマット。

LABEL LABEL D: SUB_FOLDER ディスクのボリューム ラベルの作成、変更、削除。
MD、MKDIR MD WORK フォルダの作成。
MORE MORE WORK.TXT テキスト出力を1画面単位で表示
MOVE MOVE A:*.BAT C:\TEMP ファイルの移動。
REN、RENAME REN C:CONFIG.SYS *.BAK ファイル名の変更。
RD、RMDIR RD C:\TEMP フォルダの削除。
SCANDISK SCANDISK Windows のスキャンディスクと同等機能。
SORT SORT /+8 <TEST.TXT | MORE 入力の並べ替え。
SYS SYS A: C: 起動に必要なシステムファイルをコピー。
TYPE TYPE C:\CONFIG.SYS ファイルのコンテンツを表示。
VOL VOL C: ボリューム・ラベルを表示。
XCOPY XCOPY C:\TEMP D:\WORK /S ファイルとフォルダの一括コピー。
■稼動環境設定  
BREAK BREAK ON 処理を中断。
CHCP CHCP 932 有効なコード ページ番号を表示または変更。
CHEV CHEV US 日本語/英語環境を切り替え。(通常は「JP」「US」を使用。)
CLS CLS 画面を消去。
CTTY CTTY PRN LPT2 他のキーボード、ディスプレイを使用
DATE DATE 日付を表示または変更。
EMM386 EMM386 ON EMSメモリーの使用を制御。
MODE MODE LPT1:,10
システム デバイスを設定。
NLSFUNC NLSFUNC C:\TEST.DAT 拡張国別情報をサポート。
PATH PATH C:\DOS;C:\WIN;D:\USER; 実行可能ファイルの検索パスを表示または設定。
PROMPT PROMPT $P$G プロンプトの表示を変更。
SET SET TEMP=C:\WINDOWS\TEMP 環境変数を表示、設定、または削除。
SETVER SETVER C:\DOS.DAT /DELETE DOSのバージョンを設定。
TIME TIME 9:30:30 システム時刻を表示または変更。
VERIFY VERIFY ON ファイルがディスクへ正しく書き込まれたかを照合するかどうか指定。
■常駐プログラム  
APPEND APPEND C:\;C:\WINDOWS /X ファイル検索パスを設定。
DOSKEY DOSKEY DIRW=DIR /W
コマンド行の編集、DOSコマンドの再呼び出し、マクロの作成。
SHARE SHARE /F:1024

HDDのファイルの共有とロック(保護)。

SUBST SUBST DRV1: /E パスをドライブ名に割り当て。
■操作アシスト  
COMMAND COMMAND /P コマンドインタプリタ(COMMAND.COM)を始動。(2000/XP では CMD.EXE)
EXIT EXIT コマンドインタプリタ を終了。
LH、LOADHIGH LH C:\WORK\TEST.EXE UMBメモリーへのプログラムをロード。
MEM MEM DOS上で使用中および使用可能な空メモリの表示。
START START TEST.EXE /M 別のウィンドウを起動して、指定したプログラムまたはコマンドを実行。
VER VER Windows のバージョンを表示。
■バッチファイル制御  
@   現在行の画面への表示抑止。
:(ラベル)   ラベル。
%0〜%9   パラメータの参照。
%環境変数名%   環境変数の参照
%%文字   バッチ・プログラム内の変数
CALL   他のバッチ・プログラムの呼び出し。
CHOICE   バッチ・プログラム実行中のキーボードからの選択。
ECHO ECHO 正常終了しました。
メッセージの表示、コマンド エコーのオン、オフを指定。
FOR FOR %A IN (*.TXT) DO TYPE %1 指定されたコマンドを、ファイルの集合の各ファイルに実行。
GOTO GOTO LOOP(ラベル) 分岐。
IF IF ERRORLEVEL 2 GOTO END
条件比較。
PAUSE PAUSE 処理の停止。
REM REM ***入力プログラム*** コメントを表示。
SHIFT SHIFT 参照パラメータを繰り上げ。
■CONFIG.SYS作成  
BREAK BREAK=OFF 処理の中断。
BUFFERS BUFFERS=50 バッファー数を設定。
COUNTRY COUNTRY=081,932 C:\DOS\COUNTRY.SYS 国別情報を設定。
DEVICE

DEVICE=C:\Windows\HIMEM.SYS

デバイス・ドライバをロード。
DEVICEHIGH DEVICEHIGH=C:\WINDOWS\JDISP.SYS デバイス・ドライバをUMBへロード。
DOS DOS=HIGH,UMB HMAとUMBの使用を制御。
FCBS FCBS=64 ファイル制御ブロック数を設定。
FILES FILES=128 同時にオープン可能なファイル数を設定。
INSTALL INSTALL=C:\DOS\MEMCHK.EXE 起動時にCONFIG.SYSから常駐プログラムを起動。
LASTDRIVE LASTDRIVE=Z 最終ドライブ文字を設定。(A〜Z)
REM REM ***これで起動完了*** コメントを表示。
SHELL SHELL=C:\DOS\ALT.COM トップレベルのコマンド処理プログラムを指定。
STACKS STACS=12,128 スタック数を設定。
通信コマンドの使用方法

インターネットやLANに接続されたパソコンで、目的のサーバーに接続できないといったトラブルが発生した場合に、DOSプロンプトから特定の通信コマンドを実行し、その状況を把握することができる。(コマンドのオプションを確認するには、コマンド名の後ろに「 -?」または「 /?」と入力する。)

コマンド名
機能
arp ARP で使われる IP とイーサネットまたはトークン リングとの物理アドレス変換テーブルを表示および修正。
ftp FTP サーバーサービス(デーモン)を実行中のコンピュータとの間で、ファイルの転送を行なう。
ipconfig 現在の TCP/IP ネットワーク構成を表示。
netstat プロトコルの統計情報と現在の TCP/IP ネットワーク接続を表示。
ping リモートコンピュータ、またはコンピュータへの接続を検査。
route ネットワークルーティング テーブルを処理。
tracert 診断プログラム。
NET CONFIG 現在のワークグループ設定を表示。
NET DIAG ネットワークの診断情報を表示。
NET HELP コマンドやエラーメッセージの情報を表示。
NET INIT プロトコルやネットワークアダプタ・ドライバをプロトコルマネージャにバインドせず読み込む。
NET LOGOFF 共有リソースとの接続を全て解除。
NET LOGON ワークグループのメンバーとして、ユーザーをネットワーク上で識別。
NET PASSWORD ログオンパスワードを変更。
NET PRINT 印刷待ちの状態を表示し、印刷ジョブを制御。
NET START サービスを開始。
NET STOP サービスを停止。
NET TIME サーバーの時刻を表示したり、コンピュータの時計をサーバーの時刻に合わせる。
NET USE 共有リソースへの接続や接続の解除。
NET VER 使用中のワークグループ・リダイレクタの種類とバージョンを表示。
NET VIEW 共有リソースを提供しているコンピュータ、または特定のコンピュータが提供するリソースの一覧を表示。

○arp

「arp」は、LANに接続されたパソコンのIPアドレスを調べるコマンドである。パソコンのARPテーブル(最近通信した相手のIPアドレスとMACアドレスの対応表)を調べることにより、ネットワークに接続されたIPアドレスとMACアドレスを確認できる。このARPテーブルは、マシンがIP通信をした際に、その対応表を一定時間保持するため、LAN上のすべてのパソコンと通信した後で、LANにつながるすべてのパソコンのアドレスを把握できるのである。

C:\>arp -a

○ping

「ping」(ピング)は、IPネットワーク内の特定のコンピュータと通信できるかどうかを調べるコマンドである。IPアドレスなどで指定した相手にパケットを送り、相手からの応答を待つ。応答が正しく受け取れた場合は、相手のコンピュータやそこまでの経路が正常であることが確認できる。応答なし、または応答がなかなか届かないなら、どこかに問題があると判定できる。

たとえば、IPアドレスが 192.168.0.109 のマシンとの通信を調べる場合は、次のように入力する。

C:\>ping 192.168.0.109

IPアドレス以外にも、Windows で設定したコンピュータ名や「ftp.wanwan.or.jp」といったドメイン名もアドレスとして利用できる。

主な実行結果は、以下の通りである。

1.「Relay from ....」

相手が正常に稼働しており、そこまでの経路が正常だということがわかる。この表示が4行表示されたあとに、テスト結果をまとめた統計情報も合わせて表示される。通常、IPパケットを4回繰り返して送り、その応答結果を表示する。

2.「Request timed out.」

何かの理由で、時間内にpingの応答が返って来ていないことを示す。この場合は、相手のコンピュータが稼働していないか、途中の経路が切れていてパケットが相手に届いていない可能性が高い。ただし、企業のファイアウォールなどで、pingコマンドに使うICMPパケットを遮断している場合は、宛先のマシンが稼働していても、pingコマンドの結果は「Request timed out.」になる。

3.「Destination host unreachable.」

コマンドを実行したパソコンが、宛先までパケットを送れないことを示す。自分のパソコンのLANのケーブルが外れていたり、IP設定が間違っていて、正常に通信できない状態のときに表示されることが多い。

たとえば、「ping 192.168.0.109 -t」と入力すると、「Ctrl+C」のキー操作でコマンド実行を強制終了させるまで ping を打ち続ける。会社のオフィスで、多くのLANケーブルが複雑に入り組んでいるような場合、この状態でケーブルを1本ずつ抜き差しして確認すれば、そのパソコンが接続されているルーターやハブのポートを簡単に見つけ出すことができる。

○ipconfig

Windows のIP設定アドレス(ネットワークアダプタごとのIPアドレス、サブネットマスク、デフォルトゲートウェイなど)を表示するコマンドである。

C:\>ipconfig /ALL