DOSプロンプトレベルのコマンドとその制御
※MS-DOS6.2、PC-DOS6.1(IBM)、FreeDOS1.3基準、若干の凸凹あるかも
※差異がある場合、以下の記号を追加
│ MS
│ PC
│ FR
※内部コマンドは各OS標準のCOMMAND.COMが処理できるバッチ用命令の一部
※DOS 標準COMMANDは、COMMAND.COMの外にある独立したプログラム等
┌──┐
│目次│
├──┘
│ ☆CONFIG.SYS config
│ ☆AUTOEXEC.BAT auto
│ ☆DOS BATCH COMMAND(内部コマンド) int
│ ☆DOS 標準COMMAND一覧(外部コマンド) ext
│ ☆DOS 常駐プログラム stay
※FreeDOSではFDCONFIG.SYS
※DOSのブート時の初期設定用
_◇BREAK
│ BREAK=ON|OFF
│ ⇒CTRL-Cの有効範囲の制御、offだと標準入出力時に限られる
_◇BUFFERS
│ BUFFERS=n,[m]
│ ⇒ディスクバッファ数(n)の指定
│ ⇒先読みバッファセクタ数(m)の指定
_◇COUNTRY
│ COUNTRY=xxx[,[yyy][,ファイル]]
│ ⇒国コードxxxの指定
│ ⇒コードページyyyの指定
│ ⇒国別情報ファイル指定(COUNTRY.SYS)
_◇DEVICE
│ DEVICE=ファイル名
│ ⇒デバイスドライバをコンベンショナルメモリへロード
_◇DEVICEHIGH
│ DEVICEHIGH=ファイル名
│ ⇒デバイスドライバをUMBへロード
_◇DOS
│ DOS=[UMB|NOUMB][,[HIGH|LOW]]
│ ⇒[UMB|NOUMB]DOSによるUMB使用/不使用
│ ⇒[HIGH|LOW]DOSによるHMA使用/不使用
_◇DRIVPARM
│ ディスクのメディア指定
_◇FCBS
│ FCBS=n
│ ⇒同時にオープン可能なFCB数(デフォルト4)
_◇FILES
│ FILES=n
│ ⇒同時にオープン可能なファイル数(デフォルト8)
_◇INSTALL
│ INSTALL=ファイル名
│ ⇒常駐プログラムのインストール
_◇LASTDRIVE
│ LASTDRIVE=A..Z
│ ⇒ドライブ名の最大値
_◇NUMLOCK
│ NUMLOCK=ON|OFF
│ ⇒NUMLOCKキーのオン、オフ指定
_◇REM
│ コメント行
_◇SET
│ 環境変数設定
_◇SHELL
│ SHELL=コマンドインタプリタ名
_◇STACKS
│ STACKS=m,n
│ ⇒m, スタック数8..64
│ ⇒n, 各スタックサイズ32..512
_◇SWITCHES
│ オプション指定
_◇[MENU]
│ スタートアップメニュー関係
_◇MENUITEM
│ スタートアップメニュー関係
_◇SUBMENU
│ スタートアップメニュー関係
_◇MENUDEFAULT
│ スタートアップメニュー関係
_◇MENUCOLOR
│ スタートアップメニュー関係
_◇[COMMON]
│ メニューに無関係に実行されるブロック
_◇INCLUDE
│ INCLUDE=ブロック
│ ⇒ブロックをインクルード
※FreeDOSではFDAUTOEXEC.BAT
⇒CONFIG.SYSによる初期化後自動実行されるバッチファイル
⇒使用可能なコマンドについては以下の内部コマンドを参照
※内部コマンドはCOMMAND.COMにより処理されるコマンド
◎変数
◆変数
値の設定
│ SET 環境変数名=値
│ ※値を省略すると変数削除。
値の参照
│ %環境変数名%
◆組み込み変数
①バッチファイルコマンドライン変数
│ %数値
│ (%0はバッチコマンド名)
②%COMSPEC%
│ コマンドインタプリタ名
③%PROMPT%
│ プロンプト文字列
◎内部コマンド
COMMAND.COM内部のコマンド
◆主要な内部コマンドによる実行制御
①@
│ @コマンド
│ コマンドを実行するが起動文字列を表示しない
②:
│ :ラベル
│ GOTO文のとび先
③CHOICE
│ 文字列と選択肢文字列を表示後、選択肢のいずれかが入力されるまで待つ。
│ 選択肢が入力されるとその文字が何番目かをERRORLEVELに設定する。
│ ^Cなど強制終了の場合は0、エラーの場合は255が設定される。
│ オプション
│ /C:選択肢文字列 省略するとYN
│ /N 選択肢表示せず
│ /S 大文字小文字区別
│ /T:選択肢文字,タイムアップ秒数
│ 0-99秒後に選択肢文字を自動指定
④ECHO
│ ECHO 文字列
│ 文字列を表示する
│ ECHO ON/OFF
│ エコーバックのON/OFF
⑤FOR
│ FOR %%変数 in (リスト) do コマンド
│ ⇒リストの要素をひとつづつ変数に代入しコマンドを実行。
│ ⇒リストには文字列をスペースで区切って記述。
│ ⇒?や*がある場合、ワイルドカードとして適合するファイル名がリストとして展開される。
│ ⇒コマンド中で変数を参照する場合は、「%%変数」と記す。変数名は1文字。
⑥GOTO
│ GOTO ラベル
│ ラベルに制御を移す
⑦IF
│ IF [not] 式 コマンド
│ 式:
│ ERRORLEVEL 番号
│ 直前の終了コードと一致すると真
│ 文字列1==文字列2
│ 文字列の一致
│ ※スペース、タブ,カンマ,;,=は不可
│ EXIST ファイル名
│ ファイルが存在すれば真
⑧PAUSE
│ 任意のキーが押されるまで待つ
⑨REM
│ 注釈
⑩SHIFT
│ コマンドライン引数を1つずつずらす。
◆内部コマンド一覧
_◇alias(FD)
│ alias エイリアス名=文字列
│ ⇒エイリアスを定義
│ ※MS-DOS系では doskey で代用する
_◇beep
│ ビープ音を鳴らす
_◇break
│ BREAK=ON|OFF
│ ⇒CTRL-Cの有効範囲の制御、offだと標準入出力時に限られる
_◇call
│ call バッチファイル名
│ ⇒バッチファイルの呼び出し
_◇cd
│ カレントディレクトリの表示、もしくは変更
_◇cdd
│ カレンドディラクトリ+ドライブの表示、もしくは変更
_◇chcp
│ chcp
│ ⇒アクティブなコードページの表示
│ chcp nnn
│ ⇒コードページの設定
│ 437 US
│ 850 Latin I
_◇chdir
│ カレンドディラクトリ(ドライブ含めてもよい)の表示、もしくは変更
_◇cls
│ cls
│ ⇒画面クリア
_◇copy
│ copy ソースファイル デスティネーションファイル
│ ⇒ファイルコピー
│ /A アスキーテキスト
│ /B バイナリ
│ /V ベリファイ
│ /Y 確認不要
_◇ctty
│ ctty デバイス
│ ⇒ターミナルデバイスの変更
│ con、aux、com1など
_◇date
│ date
│ ⇒現在日時の表示と変更
_◇del
│ ファイルの削除
│ ⇒erase
_◇dir
│ ディレクトリ表示
_◇dirs
│ ディレクトリ・スタックの表示
_◇doskey
│ doskey マクロ名=文字列
│ ⇒コマンドラインの編集、マクロ定義用
│ ※FreeDOSでは不要。
_◇echo
│ echo ON|OFF
│ ⇒コマンド・エコーのON、OFF
│ echo 文字列
│ ⇒メッセージの表示
_◇erase
│ ⇒delと同じ
_◇exit
│ カレントのcommand.comから脱出
_◇for
│ バッチ実行中の繰り返し制御
_◇goto
│ goto ラベル
│ ⇒バッチ実行中のジャンプ。トビ先は
│ :ラベル
_◇history
│ コマンドヒストリの表示
_◇if
│ バッチファイルの中の条件判断
_◇lfnfor(FD)
│ ロング・ファイルネーム補完の許可、不許可
_◇lh
│ プログラムをアッパーメモリへロード
│ ⇒loadhigh
_◇loadfix
_◇loadhigh
│ プログラムをアッパーメモリへロード
│ ⇒lh
_◇md
│ md pathname
│ ⇒ディレクトリを掘る
_◇memory(FD)
│ command.com(FreeCOM)のメモリの使用状況表示
_◇mkdir
│ mkdir pathname
│ ⇒ディレクトリを掘る
_◇path
│ path [[drive]path[;…]]
│ ⇒サーチパスを設定する
│ path ;
│ ⇒サーチパスをクリア(カレントのみ)
_◇pause
│ pause [message]
│ ⇒バッチ実行中にメッセージを表示し、一時停止する
_◇popd
│ popd
│ ⇒ディレクトリ・スタックからポップしたディレクトリに戻る
│ popd *
│ ⇒ディレクトリ・スタックをクリア
_◇prompt
│ prompt コマンドプロンプト文字列
│ ⇒コマンドプロンプトを設定する
│ スペシャル文字の一部)
│ $P カレントドライブとパス
│ $$ ドル文字
│ $_ 復帰改行
_◇pushd
│ pushd [[drive]path]
│ ⇒カレントディレクトリをディレクトリ・スタックにプッシュし、
│ ⇒[drive]pathへ移る
_◇rd
│ rd ディレクトリのパス
│ ⇒空のディレクトリを削除
_◇rem
│ バッチファイル中でのコメント
_◇ren
│ ファイル、ディレクトリのリネーム
_◇rename
│ ファイル、ディレクトリのリネーム
_◇rmdir
│ rmdir ディレクトリのパス
│ ⇒空のディレクトリを削除
_◇set
│ set 環境変数名=文字列
│ ⇒環境変数に値をセット
│ set 環境変数名=
│ ⇒環境変数を削除
│ set 環境変数名
│ ⇒環境変数の値を表示
│ set
│ ⇒カレント環境変数群を表示
_◇shift
│ shift
│ ⇒バッチファイル中で引数位置をシフト
│ ⇒%0が%1となる。以下同様。
_◇time
│ time /T
│ ⇒システム時刻を表示。プロンプトなし。
│ time hh:mm:ss.ss
│ ⇒システム時刻を設定。
_◇truename
│ フルパス名の表示
_◇type
│ type ファイル名
│ ⇒テキストファイルとして画面表示
_◇ver(FD)
│ ver
│ ⇒FreeDOSのバージョン表示
│ /R
│ /W
│ /D
│ /C
_◇verify(FD)
│ verify ON|OFF
│ ⇒ファイル書き込み時のベリファイのON、OFF
_◇vol
│ vol [drive]
│ ⇒ディスクのボリュームラベル表示
_◇which
│ which コマンド
│ ⇒実行ファイルのパスを表示
◆append
│ append パス /オプションスイッチ
│ ⇒指定パス中のファイルをカレントディレクトリ同様に扱う
│ append ;
│ ⇒アペンド解除
│ append
│ ⇒アペンド一覧
◆apropos(FD)
│ apropos サブジェクト
│ ⇒.LSMファイルを持つアプリ情報を表示
│ ⇒whatisコマンドの方がワンライナーで完結
◆assign
│ assign X:=Y:
│ ⇒ドライブ名に別のドライブ名を割り当て
│ assign /status
│ ⇒状況表示
◆attrib
│ attrib [+R|-R] [+A|-A] [+S|-S] [+H|-H] ファイル名
│ ⇒ファイル属性の変更(何も指定しなければ表示)
│ /S オプションをつけると指定フォルダ内の全ファイルを処理
◆backup(MS)
│ DOS5用バックアップ
│ ※FreeDOSには不在。
◆callver(FD)
│ callver x.xx [PROGRAM [ARGUMENTS]]
│ ⇒FreeDOSのバージョンナンバーをx.xxに偽装してプログラムを実行
◆chkdsk
│ ドライブのチェック
◆choice
│ ユーザーの入力をERRORLEVELに返す
│ ⇒◆主要な内部コマンドによる実行制御③参照
◆command
│ 新たなシェルとしてcommand.com(MS-DOS/PC-DOS)、FreeCom(FreeDOS)の呼び出し
◆comp
│ comp ファイル1 ファイル2
│ ⇒ファイル内容比較
│ /A アスキー形式
│ /C 大文字小文字無視
│ /D 10進形式表示(デフォルトは16進)
│ /L 差異のある行番号を表示
│ /N=数字 先頭から指定行数のみ比較
◆cpidos
│ コードページ情報ファイル
◆debug
│ MS-DOS/PC-DOSの標準デバッガ
│ FreeDOSの標準デバッガ(MS-DOS版の上位互換、386にも対応)
◆debugx(FD)
│ 拡張されたデバッガ、DPMIプログラムのデバッグも可能。
◆defrag
│ ディスクのデフラグ
◆deltree
│ deltree [/Y] path
│ ⇒pathの配下を一括削除。
│ ⇒/Yとするとイチイチ確認しない
◆diskcomp
│ diskcomp [drive [drive]]
│ ⇒フロッピイ・ディスクの内容比較
│ ⇒トラック・バイ・トラックに比較
◆diskcopy
│ diskcopy [source] [destination]
│ ⇒フロッピイ・ディスクのコピー
◆display
│ コードページ管理
◆edit
│ MS-DOSのスクリーンエディタ
│ FreeDOSのスクリーンエディタ
◆edlin
│ ラインエディタ
◆exe2bin
│ exe2bin exe_file bin_file
│ ⇒.exe形式のファイルをバイナリに変換して書き込む
◆fasthelp
│ MS-DOSのfasthelp
│ Linux man-pageスタイルのhelp(FD)
│ ⇒fdhelp
◆fc
│ ファイル比較、compより機能多い
◆fdhelp(FD)
│ Linux man-pageスタイルのhelp
│ ⇒fasthelp
◆fdisk
│ HDD上にパーティションを作成するツール
│ ⇒作成後format
◆fdshield(FD)
│ マルウエアに対するシールドモニタ
◆find
│ ファイル内文字列検索
◆format
│ HDD、FDをフォーマットするツール
│ ⇒HDDの場合、先にfdiskしておくこと
◆freecom(FD)
│ FreeDOSのコマンドシェル(command.com)
◆fsuite04(FD)
│ ⇒fasthelp(FD)と同じ
◆graftabl
│ 拡張キャラクタセットのロード(CGAグラフィクス)
◆graphics
│ Print Screenキーの有効化
◆help
│ MS-DOSのhelp(フルスクリーン)
│ PC-DOSではMS-DOSのfasthelp相当
│ FreeDOSではhtml形式のHelpファイル表示
◆htmlhelp(FD)
│ ⇒help(FD)と同じ
◆join
│ join d: path
│ ⇒ドライブ d を別なドライブ配下のディレクトリとして割り当て
│ join d: /D
│ ⇒ドライブ d の接続解除
◆keyb
│ キーボードBIOSの割り込みを横から掠める一種のドライバ(常駐プログラム)
│ non-US キーボードのサポート用
◆keyman(FD)
│ キーボード・マクロのレコーダ(常駐プログラム)要XKEYB
◆klib(FD)
│ KLファイル(キーボード定義につかわれる)のライブラリアン
◆kpdos(FD)
│ Keyboard Layout Pack
◆label
│ ディスクのボリュームラベルの変更
◆lbacache(FD)
│ HDDキャッシュプログラム(XMS必須)
◆listxdef(FD)
│ XKeybによるキーのアロケーションを表示
◆mem
│ フリーメモリの表示
◆mirror(FD)
│ HDDのブートセクタやパーティションテーブルなどを保存
◆mkeyb(FD)
│ コンパクトなキーボードのリマップ・ドライバ(当然日本語は含まれない)
◆mode
│ ハードウエアデバイスの設定と状態表示
│ CON
│ LPT
│ COM
◆more
│ more file
│ more < file
│ ⇒テキストファイルを表示
│ コマンド | more
│ ⇒パイプ内のテキストを表示
│ ※タブ制御 /Tn
◆move
│ ファイルの移動。名前の変更。
◆nlsfunc
│ NLS(National Language Support)
◆print
│ バックグラウンドでのプリンタ出力
◆printq(FD)
│ prnspoolモジュールとのインタフェース
◆recover
│ RECOVER ファイル名
│ RECOVER ドライブ名
│ ⇒セクタの問題を解決して可能な限りのファイルを復元
◆recover(MS/PC)
│ backupコマンドでバックアップされたファイルの復元
│ ※FreeDOSには不在
◆replace
│ replace 送り側ファイル 置き換える先のディレクトリ
│ ⇒ファイルを置き換える
│ ※各種スイッチはOSにより異なるので個別確認
◆scankbd(FD)
│ キーボードレイアウトのスキャン(XKEYBなど)
◆share
│ ハードディスク上のファイルの共有とロックの管理
◆shsucdx(FD)
│ CD-ROMリダイレクタ
│ ※MS-DOSではMSCDEX相当。
◆sort
│ sort [options] ファイル名
│ ⇒入力ファイルをソート。入力ファイルは変更されない。標準出力に出力。
│ ※主要オプション
│ /R (逆順:Z – A)
│ /+num 各行のnum番目のカラムからをソートのキーとする
◆subst(MS/PC)
│ subst ドライブ名 パス名
│ ⇒パスをドライブ名に割り当てる(仮想ドライブ)
│ subst ドライブ名 /D
│ ⇒ドライブ名割り当て解除
◆swsubst(FD)
│ FreeDOS版のsubst。オプション多数。
◆sys
│ ドライブにシステムファイルを書きこむ(ブート可能となる)
◆tdsk(FD)
│ FreeDOS版のRAM disk
◆tickle(FD)
│ ディスクキャッシュ LBACACHEと共同して動作する。フロッピイ高速化
◆tree
│ ドライブやパスをツリー表示する
◆undelete
│ 削除したファイルのリカバリを試みる
◆unformat
│ フォーマットされたディスクのリカバリを試みる
◆whatis(FD)
│ whatis コマンド
│ ⇒コマンド情報(1行)を表示。コマンドバージョンなど得られる。
│ ⇒何も指定しないと全コマンド表示
◆xcopy
│ xcopy ソースパス デスティネーション
│ ⇒パス配下のファイル群をツリーでコピー。オプション多数。
◆xkeyb(FD)
│ キーボード・ドライバ。MS-DOSのkeyb相当。
◆デバイスドライバ組み込み用コマンド
_◇ADDDRV
キャラクタ型デバイスドライバの組み込み
_◇DELDRV
ADDDEVで組み込んだドライバの取り外し
◆画面表示用ドライバ
_◇ANSI.SYS
ANSIエスケープシーケンスサポート
_◇DISPLAY.SYS
コードページの切り替え
DEVICE=[path]DISPLAY.SYS CON[:]=(type[,codepage][,n|,(n,m):)
│ typeはEGA(VGA)、LCD
│ nはサポートされるコードページ数、mはサブフォント数
_◇GRAFTABL
◆言語環境用ドライバ
_◇NLSFUNC
◆日本語環境用ドライバ
⇒IBM PC-DOSではドライバの先頭に$がつく
⇒MS-DOS6以降のMS系ではJがつく
_◇$ANSI.SYS
_◇$DISP.SYS
_◇$FONT.SYS
_◇$IAESKK.SYS
_◇$IAS.SYS
_◇$PRN.SYS
_◇MSIME.SYS
_◇KKCFUNC.SYS
_◇MSIMEK.SYS
_◇MSIMEKEY
_◇MSIMELST
_◇MSIMERGN
_◇MSIMESET
◆メモリマネージャ
_◇EMM386.EXE
386モードのExpanded Memory Manager
※JEMM386.EXE(FD)
│ FreeDOSのExpanded Memory Manager
※JEMMEX.EXE(FD)
│ FreeDOSのExpanded Memory Manager、HIMEMX.SYS不要
_◇HIMEM.SYS
High Memory Manager
※HIMEMX.EXE(FD)
│ FreeDOSのHIMEM.SYS、JEMMEXを使用すれば不要
◆入出力
_◇MOUSE
_◇ctmouse(FD)
│ CuteMouse マウスドライバ
_◇MSCDEX
│ CD-ROMドライバ
◆電力制御
_◇POWER
_◇fdapm(FD)
│ FreeDOSのAPM(電力管理ツール)