Software_DOS_BATCH

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


☆CONFIG.SYS

※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=ブロック
│ ⇒ブロックをインクルード


☆AUTOEXEC.BAT

※FreeDOSではFDAUTOEXEC.BAT
⇒CONFIG.SYSによる初期化後自動実行されるバッチファイル
⇒使用可能なコマンドについては以下の内部コマンドを参照


☆DOS BATCH COMMAND(内部コマンド)

※内部コマンドは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 コマンド
│ ⇒実行ファイルのパスを表示


☆DOS 標準COMMAND一覧(外部コマンド)

◆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相当。


☆DOS 常駐プログラム

◆デバイスドライバ組み込み用コマンド

_◇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(電力管理ツール)