コマンドプロンプト MS-DOSを使ってみよう!

MS-DOSとの関係、コマンドプロンプトの使用方法やバッチファイル作成方法など、ぜひ覚えて使ってみよう!

コマンドプロンプト MS-DOSを使ってみよう! 設定・システム操作
◆ assoc

assoc [拡張子 [= [ファイルタイプ]]]

assocは、ファイルタイプと拡張子の関連付け情報を変更したり
表示したりするコマンドである。


パラメータ
 拡張子・・関連付け情報を変更、または表示したい拡張子を指定。(「.」含めた記述)
 ファイルタイプ・・指定した拡張子に関連付けるファイルタイプを指定。


■ 使用例 ■

・.txtに関連付けられているファイルタイプを表示

C:¥>assoc .txt

・.txtに関連付けられているファイルタイプを変更

C:¥>assoc .txt=WordPad.Document.1
◆ at

at [コンピュータ名] 時刻 [/interactive] [/every:日付 | /next:日付] "コマンド"
at [コンピュータ名]
at [コンピュータ名] [ID] /delete [/yes]

atは、指定日時に指定コマンド、またはバッチファイル(プログラム)
が実行されるようにするコマンド


パラメータ
 コンピュータ・・ネットワーク上のマシンを指定
 時刻・・コマンドを実行したい時刻を指定。指定方法は「時:分」で基本的に24時間表記
 "コマンド"・・実行したいコマンドまたは、バッチファイル(プログラム)を指定
 ID・・実行日時が設定されたコマンドに割り当てられる識別番号

/delete
 コマンド実行スケジュールを取り消す。
/yes
 IDを指定せずに「/delete」オプションを実行した場合、確認メッセージを表示しない。
/interactive
 指定されたスケジュールによってコマンドが実行されるときに、デスクトップ上での表示を許可。
/every:日付
 毎日指定した曜日または、毎月指定した日にコマンドが実行される。 日付:M T W Th FS Su 1~31
/next:日付
 指定した日付に一度だけコマンドが実行される。 日付:M T W Th FS Su 1~31

3行ある書式のうち、一番上がスケジュールの設定方法を示し、中央の書式はatコマンドで設定されている
スケジュールを一覧表示、一番下の書式が設定されているスケジュールを削除する。
atコマンドで一般的な内部コマンドの実行を指定する場合、cmd.exeを自動的に読み込まない為、明示的
指定する必要がある。

■ 使用例 ■

・設定されているスケジュールを一覧表示

C:¥>at

・ID3のスケジュールを削除

C:¥>at 3 /delete

・スケジュールをすべて削除

C:¥>at /delete

・copyコマンドの実行スケジュール設定

C:¥>at 10:00 /every:M,Su "cmd.exe /c copy ¥aaa¥bbb.txt d:¥back"
◆ bootcfg

bootcfg オプション

bootcfgは、boot.iniファイルの設定の変更、表示などを行うコマンド(Winproのみ)

/copy
 ブートエントリのコピーを作成し、新しいエントリとして追加。
 コピーするエントリ行を「/ID」オプションで指定。
/delete
 ブートエントリの中から指定エントリを削除。
 削除するエントリ行を「/ID」オプションで追加。
/query
 現在のブートローダとブートエントリの設定内容(boot.iniファイルの内容)を表示。
/raw
 指定ブートエントリに新しいロードオプションを追加。
 「/raw」オプションのパラメータで入力した内容が直接エントリに追加される。
/timeout
 起動メニューが表示された場合の制限時間を変更。
/default
 複数のブートエントリが存在する場合、指定したブートエントリをブートエントリの初期値とする。
/ems
 EMS(Emergency Management Services)コンソールはキーボードなどの標準入出力装置が
 装備されていないサーバにおいて、メッセージをシリアルポートに出力する機能を指す。
 「/ems」オプションは、ブートエントリにこの機能を追加し、設定の変更を行う。
/debug
 指定したブートエントリにリモートデバッグのための設定を追加し、設定の変更を行う。
/addsw
 指定したブートエントリに新しいロードオプションを追加する。
 /rawオプションと異なり、あらかじめ定義されているオプションを使って追加する。
/rmsw
 指定したブートエントリから追加されたロードオプションを削除する。
 削除対象はあらかじめ定義されているオプションで指定。
/dbg1394
 指定したブートエントリに1394ポートを使ってデバッグをするための設定を追加し、設定の変更を行う。

boot.iniファイルを変更するには、システムに関する高度な知識を要する。
bootcfgコマンド実行の際には、操作にあわせてオプションを設定し、
さらに個別の操作オプションをはじめに設定したオプションに指定する。

 ・・・各オプションにどのような操作オプションが存在するのかは、helpコマンドで参照する

■ 使用例 ■

・現在のboot.iniの設定内容を変更

C:¥>bootcfg /query

・新しいブートエントリ追加

C:¥>bootcfg /copy /d "Test Bootdisk" /id 1
◆ cacls

cacls ファイル名] [/t] [/e] [/c] [/g ユーザー名:アクセス権]
[/r ユーザー名] [/p ユーザー名:アクセス権] [/d ユーザー名]

caclsは、NTFS上のファイル、またはディレクトリの持つACL(Access Control List:アクセス制御リスト)
あるいはDACL(Discretionary Access Control List:随意アクセス制御リスト)の表示、
または設定の変更を行うコマンドである。


パラメータ
 ファイル名・・ACL(アクセス制御リスト)を表示したいファイル名、またはディレクトリ名を指定する。
        WinXPではDACL(随意アクセス制御リスト)になる。
        複数ファイルを指定する際にはワイルドカードを使用可能。

/t
 現在のディレクトリとそれ以下の全てのサブディレクトリの指定されたファイルのACLを処理対処に。
/e
 現在のACLの内容を書き換えずにそのまま編集。
/c
 アクセス拒否エラーを無視して、ACLを強制的に変更する。
/g ユーザー名:アクセス権
 指定したユーザーにアクセス権を与える。
  • N なし
  • R 読み取り
  • W 書き込み
  • C 変更(書き込み)
  • F フルコントロール
/r ユーザー名
 指定したユーザーのアクセス権を失効させる(/e オプションと同時使用)。
 複数ユーザーの指定ができる。
/p ユーザー名:アクセス権
 指定したユーザーのアクセス権を置き換える。複数ユーザー指定可能。
  • N なし
  • R 読み取り
  • W 書き込み
  • C 変更(書き込み)
  • F フルコントロール
/d ユーザー名
 複数ユーザーの指定可能。

■ 使用例 ■

・ディレクトリのACL確認

C:¥>cacls aaa¥bbb

・bbb.txtに対するuser2のアクセス権を読み取りの変更

C:¥>cacls aaa¥bbb.txt /e /p user2:r
◆ chcp (us/jp)

chcp (コードページ

chcpは、コマンドプロンプトで使用されているコードページ番号を、
表示または変更するコマンドである


パラメータ
 コードページ・・言語情報を制御するコードページ番号を指定


chcpがサポートしているコードページと
その国/地域、または言語

437 アメリカ
850 マルチリンガル(ラテンⅠ)
852 スラブ語(ラテンⅡ)
855 キリル語(ロシア語)
857 トルコ語
860 ポルトガル語
861 アイスランド語
863 カナダ フランス語
865 北欧
866 ロシア語
869 モダンギリシャ語
932 日本語

◆基本的に日本語版のWin 2000/XPで使用できるコードページは英語(アメリカ:437)と日本語(932)のみ
■ 使用例 ■

・コードページを確認する

C:¥>chcp

・コードページを英語に変更

C:¥>chcp 437
◆ chkntfs

chkntfs [/x | /c] ドライブ名
chkntfs /d
chkntfs /t [:秒数]

chkntfsは、起動時に実行されるOSのシステムチェックの実行スケジュールを
表示、または変更するためのコマンドである


パラメータ
 ドライブ名・・起動時のチェックの実行スケジュールを変更したいドライブを指定する。
        複数のドライブを指定可能、マウントポイントやボリューム名での指定可能。

/x
 指定したドライブを起動チェックから除外する。
/c
 起動時に指定したドライブを検査するように設定、
 エラーがあった場合はchkdskコマンドを実行する。
/d
 起動時に全てのドライブを検査し、エラーがあったドライブに対し、chkdskを実行する(デフォルト)
/t:秒数
 検査開始までの待ち時間を秒数で指定する。
 秒数が指定されていない場合、現在の設定秒数が表示される。(デフォルトは10秒)

■ 使用例 ■

・Cドライブをチェックするように設定

C:¥>chkntfs /c c:

・Cドライブに状態を表示

C:¥>chkntfs c:

・Dドライブをチェック対象から除外

C:¥>chkntfs /x d:
◆ cls

cls

clsは、コマンドプロンプトウィンドウに現在表示されている内容を全て消去する(clear screen)
コマンドである。ただしコマンドの入力履歴は削除されない。


■ 使用例 ■

・コマンドプロンプトウィンドウに表示されている内容を全て消去

C:¥>cls
◆ color

color [[背景色] [前景色]]

colorは、表示されているコマンドプロンプトウィンドウ内の表示色を変更するコマンドである。

パラメータ
 背景色・・コマンドプロンプトウィンドウの背景色を指定
 前景色・・テキストの色を指定


色の指定は色コード(色属性)という数値を使い2桁で表現する。(0~F:16進数)
1桁目が背景色、2桁目が前景色(テキスト)となる。

色属性一覧
0:黒 8:暗い灰色
1:暗い青 9:青
2:暗い緑 a:緑
3:暗い水色 b:水色
4:暗い赤 c:赤
5:暗い紫 d:紫
6:暗い黄色 e:明るい黄色
7:灰色 f:白

colorコマンドを単独で実行すると、デフォルトの表示色に戻る。
前景色と背景色を同色にする事はできない。
1桁だけを指定すると、背景色に黒が設定されたとみなされる。
■ 使用例 ■

・背景色を暗い赤に、文字色を明るい黄色に

C:¥>color 4e
◆ cscript

cscript [スクリプトファイル] [オプション]

cscriptは、WSH(Windows Script Host)をコマンドプロンプトから利用するための
環境を設定・提供するコマンドである


パラメータ
 スクリプトファイル・・実行したいスクリプトファイル名を指定。

//b
 スクリプト実行時に、エラーやコマンドプロンプトなどを非表示にする。(バッチモード)
//d
 アクティブデバッグを有効にする。
//e:エンジン
 使用するスクリプトエンジン(言語)を指定。
//h:cscript
 WSHの実行環境をCScript.exeとする。
//h:wscript
 WSHの実行環境をWScript.exeとする。(デフォルト)
//i
 スクリプト実行時に、エラーやコマンドプロンプトなどを表示する。(対話モード:デフォルト)
//job:番号
 .wsfファイル内の、指定された番号(4桁)のジョブを実行する。
//logo
 スクリプト実行時に、WSHのバージョン情報などをコマンドプロンプトに表示する。(デフォルト)
//nologo
 スクリプト実行時に、WSHのバージョンなどの文字情報をコマンドプロンプトに表示しない。
//s
 指定したオプションを、以降のスクリプト実行時にも使えるように保存する。
//t:秒数
 スクリプトを継続実行できる時間の最大値を指定する。
 最大で32,767秒まで指定できる。省略時の継続時間は無制限である。
//x
 デバッガでスクリプトを実行する。
//u
 リダイレクトされた内容の文字コードにUnicodeを使用する。

■ 使用例 ■

・デフォルトでスクリプトファイルを単独実行すると、GUI環境で実行される

C:¥>c:¥aaa.ubs

・スクリプトファイルを//nologoオプションで実行

C:¥>cscript c:¥aaa.ubs //nologo

・カレントディレクトリを一つ上の階層に変更する

C:¥>cscript //h:cscript
◆ date time

date [/t | 日付]
time [/t | 時刻]

dateは、システム日付の表示・又は変更を。
timeは、システム時刻の表示・又は変更を行うコマンドである。


パラメータ
 日付・・変更する日付を指定。
 時刻・・変更する時刻を指定。

/t
 現在のシステム日付・または時刻を表示するだけでコマンドを終了する。

入力例
2004年1月1日 午後3時6分7.35秒
2004–01–01 15:06:07.35
04–1–1 15:6:7.35
2004/1/1 3:6:7.35 p
04/01/01

日付や時刻の入力形式は、Winに設定されている言語情報(ロケール情報。システムの国設定を指す、
言語環境、日付や時刻などの表記、通貨単位などを含む)に依存している。
この情報を変更すると入力形式は変化するので注意が必要。
■ 使用例 ■

・時刻変更の際に、午後を明示的に指定

C:¥>time 3:30 p

・日付の表示と変更

C:¥>date

・時刻を変更

C:¥>time
◆ doskey

doskey [/reinstall] [/listsize = サイズ] [/macros [:all | :実行ファイル名]]
[/history] [/insert | /overstrike] [/exename = 実行ファイル名]
[/macrofile = マクロファイル名] [[マクロ名]=[コマンド]]

doskeyは、コマンドプロンプトの機能を拡張するためのコマンドである。
コマンドラインの編集やコマンドの再呼び出し(コマンド履歴機能)マクロの作成といった機能が拡張される。


パラメータ
 マクロ名・・作成するマクロ名を指定。
 コマンド・・マクロに登録するコマンドを指定。

/reinstall
 doskey.exeを再インストールする。それまでのコマンド履歴は削除される。
/listsize=履歴数
 コマンド履歴として保存するコマンド数を設定する。(デフォルトは50)
/macros [:all | :実行ファイル名]
 指定された実行可能ファイルのマクロあるいは現在設定されているすべてのマクロを一覧表示する。
 (省略形:/M)
/history
 コマンド履歴を一覧表示する。(省略形:/H)
/insert
 コマンドラインでの編集時に、入力した文字列がカーソル位置に挿入されるようにする。
/overstrike
 コマンドラインでの編集時に、入力した文字列が以前の文字列を上書きするようにする。(デフォルト)
/exename=実行ファイル名
 実行可能ファイル名を指定する。
/macrofile=ファイル名
 作成するマクロファイル名を指定する。

doskeyコマンドはMS–DOSやWindows95/98/Meの貧弱なDOSプロンプトの機能を拡張するために登場した。
doskeyコマンドを単独実行すると、メモリに常駐し、それ以降機能が拡張される。

拡張された編集機能及び履歴機能に関する主なキー操作
1つ前に実行したコマンドを呼び出す。バッファに記録されている分だけ遡れる。
上方向キーで呼び出されたコマンドより1つ前のコマンドを呼び出す。最後に入力したコマンドまで戻す事ができる。
PageUp 記録されている中で最も古いコマンドを呼び出す。
PageDown 最後に入力したコマンドを呼び出す。
Ctrl+← カーソルを1単語分左に移動させる。
Ctrl+→ カーソルを1単語分右に移動させる。
Home カーソルを行頭に移動させる。
End カーソルを行末に移動させる。
Esc 入力されたコマンドをクリアする。
F5 最後に入力したコマンドを呼び出す。
F7 ボックスがポップアップし、実行されたコマンド履歴が一覧表示される。
Alt+F7 現在のコマンド履歴をクリアする。
F8 入力したコマンドを検索する。検索したいコマンドの最初の数文字を入力し、F8キーを押すと、それに合致した文字で始まる コマンドが検索される。

Windows 2000/XPのコマンドプロンプトでは、元から改良と機能拡張が図られているので
コマンド編集機能やコマンド履歴機能などは既に標準で装備されている。
それゆえ、そういった機能を利用するためにdoskeyコマンドを使う意味合いは薄い。
現在、doskeyコマンドの存在理由は、他のコマンドをマクロとして定義するという機能に集約されていると言ってよい。
これは、指定したコマンドを特定の文字列と関連付けて定義する機能である。

マクロコマンドの定義
マクロコマンド・・・指定したコマンドを特定の文字列と関連付けて定義する機能
・dirコマンドを「/w」オプションつきでマクロ化

C:¥>doskey dw=dir /w
このように定義しておけば、文字列「dw」で「dir /w」が実行可能
マクロ定義用の特殊文字を利用することで、複数コマンドの定義や実行時のパラメータの指定も可能

制御用特殊文字の一覧
$g 出力結果がリダイレクトされる(「>」と同じ)
$g$g 出力結果指定ファイルのを終わりに追加する(「>>」と同じ)
$1 入力をリダイレクトする(「<」と同じ)
$b マクロの出力を指定したコマンドに送る(パイプ「|」と同じ)
$t 複数のコマンドを定義する際のセパレータとして使う
$$ $記号をあらわす
$1~$9 パラメータを表す。マクロ実行時の各パラメータと置き換えられる
$* パラメータを表す(複数)。マクロ実行時の全てのパラメータと置き換えられる

■ 使用例 ■

・コマンド操作の履歴を表示する

C:¥>doskey /history

・定義済みのマクロコマンドを一覧表示

C:¥>doskey /macros

・マクロを削除

C:¥>doskey マクロ名=
◆ echo

echo [[on | off] [メッセージ]]

echoは、標準入出力(画面)にコマンドプロンプトや各種メッセージを表示する
かどうかを制御するコマンドである。


パラメータ
 メッセージ・・画面に表示したい文字列を入力。

on
 エコー機能(画面表示)をオンにする
off
 エコー機能(画面表示)をオフにする

■ 使用例 ■

・現在のエコーの状態を表示

C:¥>echo

・文字列を表示させる

C:¥>echo MOJIRETSU
◆ exit

exit [/b] [終了コード]

exitは、コマンドプロンプトの本体であるcmd.exe(コマンドインタープリタ)
またはバッチファイルを終了させるコマンドである。


パラメータ
 終了コード・・/bオプションが指定されている場合に、終了コード値として返す値を設定する。

/b
 実行中のバッチファイルを終了する。バッチファイル以外で実行された場合はcmd.exeが終了する。

■ 使用例 ■

・cmd.exeを終了させる

C:¥>exit
◆ ftype

ftype [ファイルタイプ[= [オープンコマンド]]]

ftypeは、システムに登録されているファイルタイプと、そのファイルタイプに対応
しているファイルを開くためのコマンド文字列を表示変更する為のコマンドである。


パラメータ
 ファイルタイプ・・表示または変更するファイルの種類を指定する。
 オープンコマンド・・指定したファイルタイプのファイルを開く為のコマンド文字列を指定する。


オープンコマンドのコマンド文字列の内容は、起動アプリケーションのプログラム名をパラメータになる。
パラメータに利用できる変数については次のようなものがある。

%0または%1 開かれるファイル名に置き換えられる。
%2~%9 %2は第一パラメータ、%3は第二パラメータ・・・%9は第八パラメータに置き換えられる。
%* 指定される全てのパラメータの置き換えられる。
%~n 第n番目のパラメータから最後のパラメータまでに置き換えられる。
nには2~9の値が入る。

■ 使用例 ■

・ファイルタイプに関連付けられているアプリケーション情報を表示

C:¥>ftype

・拡張子「.doc」を持つファイルに関連付けられている起動アプリケーションをノートパッドに変更
 (拡張子のファイルタイプはassocコマンドで調べる)

C:¥>ftype Wordpad.Document.1   (ワードパッドを起動するためのコマンド文字列確認)

C:¥>ftype txtfile   (ノートパッドを起動するためのコマンド文字列確認)

C:¥>ftype txtfile="Program Files%¥Windows NT¥ Accessories¥WORDPAD.EXE" "%1"
     (テキストファイルにワードパッドのコマンド文字列を関連付け)
◆ help

help [コマンド]

helpは、コマンドプロンプトで各コマンドの書式や機能、使い方といった
ヘルプ情報を提供するコマンド。


パラメータ
 コマンド・・ヘルプ情報を表示したいコマンド文字列を指定する。

* ヘルプ情報がサポートされていないコマンドも存在する。

■ 使用例 ■

・helpコマンドでサポートされているコマンド一覧を表示

C:¥>help
◆ hostname

hostname

hostnameは、現在使用しているマシンの完全なコンピュータ名を表示するコマンドである。

  • helpコマンドではサポートされていないヘルプ情報を表示するには、「/?」ではなく「–?」オプションを指定。
■ 使用例 ■

・使用中のマシンのコンピュータ名を表示

C:¥>hostname
◆ mem

mem [/program | /debug | /classify]

memは、MS–DOS互換の環境(16bit仮想マシン)でのメモリの使用状況
に関する情報を表示する為のコマンドである。


/program
 メモリに読み込まれているプログラムの状態を表示する。(省略形 : /p)
/debug
 メモリに読み込まれているプログラムやデバイスドライバの状態を表示する。(省略形 : /d)
/classify
 コンベンショナルメモリ及び上位メモリ領域(UMA)に読み込まれたプログラムの
 情報などを表示する。(省略形 : /c)

memコマンド実行時の用語について
コンベンショナルメモリ MS–DOS互換の環境に割り当てられる仮想メモリ容量。最大でメモリ先頭から最初の640KB。
使用可能MS–dosメモリ 割り当て済みのコンベンショナルメモリの容量。
最大プログラムサイズ 1つのプログラムに使用可能なコンベンショナルメモリ内の最大連続ブロック。
全エクステンドメモリ 1MBを超える部分の全メモリ容量。
利用可能エクステンドメモリ 割り込み番号15hで利用できるエクステンドメモリのこと。古いタイプのプログラムで用いられる事がある。
使用可能XMSメモリ HIMEM.SYSなどのXMSメモリマネージャで管理され、これを使えるプログラムから使用可能なメモリ。

■ 使用例 ■

・メモリにロードされているプログラムの一覧表示

C:¥Documents and Setting¥user2>mem /p
◆ mode

1  mode [デバイス]
2  mode デバイス [:] [オプション]

modeは、コマンドプロンプトから利用できる標準的な入出力デバイスについて
各種動作モードを変更したり、その状態を表示したりするコマンドである。


パラメータ
 デバイス・・表示又は設定を行うデバイスを指定する。指定できるデバイスは以下の通り。
  • COMn : シリアルポート(COMポート)。nはポート番号(1~4)
  • LPTn : パラレルポート(LPTポート)。nはポート番号(1~3)
  • CON : コンソール(画面出力及びキーボード入力)

modeコマンドで扱えるデバイスは。通常シリアル(COM)ポート、パラレル(LPT)ポート、コンソール
(画面出力及びキーボード入力)である。設定項目はデバイスによって異なる。
また、マシン構成によっては設定できる項目やデフォルト値なども異なる可能性があるので、
設定を変更する場合には、現在の設定値を確認してから行わなければならない。

シリアルポートオプション
BAUD=値 伝送速度(ボーレート)を指定する。2桁の省略形ではなく、
速度をそのまま指定する事もできる。
値(省略形) 速度
11 110ボー
15 150ボー
30 300ボー
60 600ボー
12 1200ボー
24 2400ボー
48 4800ボー
96 9600ボー
19 19200ボー
PARITY=値 パリティを使った伝送エラーの検査方法を指定する(デフォルトはe)
n パリティなし
e 偶数パリティを使用
o 奇数パリティを使用
m マークを使用
s スペースを使用
DATA=値 1文字の中に含まれるビット数を指定する。5~8の整数値を使用(デフォルトは7)
STOP=値 文字の終わりを定義するストップビット数を指定する。値は1、1.5、2のどれかになる。 なおボーレートが110の場合、デフォルトは2。それ以外のボーレートの場合は、デフォルトが1になる。
to=on | off 無限タイムアウト処理の指定。デフォルトはオフ。
xon=on | off データフロー制御用プロトコル(xonまたはxoffプロトコル)を指定する。
odsr=on | off DSR(データセットレディ)フロー制御をオンにするかオフにするかを指定する。
octs=on | off CTS(送信可)フロー制御をオンにするかオフにするかを指定する。
dtr=on | off | hs DTR(データターミナルレディ)回線をオンにするかオフにするか、ハンドシェイク に設定するかを指定する。
rts=on | off | hs | tg RTS(送信要求)回線をオンにするかオフにするか、ハンドシェイク、 またはトグルに設定するかを指定する。
idsr=on | off DSR回線をオンにするかオフにするかを指定する。


パラレルポートオプション
=COMn[:] パラレルポートへの出力をシリアルポートに切り替えたい時に切り替え先の シリアルポートを指定する。シリアルポートの指定は必須。


コンソールオプション
CP SELECT=nnn 設定したいコードページ番号を指定する。
CP [/STATUS] 現在使われているコードページ番号を表示する。
COLS=桁数 コマンドプロンプトウィンドウの横幅を指定する。(文字数)
LINES=ライン数 コマンドプロンプトウィンドウの縦の長さを指定する。(行数)
RATE=値 キーボードのキーを押し続けた場合に、画面上で文字がリピートされる 速度を指定する。(リピート速度:有効値1~32*)
DERAY=値 キーボードのキーを押し続けた場合に、該当文字のリピートが始まるまでの 時間を指定する。(ディレイ時間:有効値1~4*)
*この範囲の数値でも指定できない場合あり。


共通
/STATUS 対象デバイスのステータス(状態)を表示する。

■ 使用例 ■

・現在のデバイスの設定状態を表示

C:¥>mode

・パラレルポートの出力先を切り替える

C:¥>mode lpt1=com1

・キーボード速度を変更

C:¥>mode con rate=25 delay=1
◆ path

1  path パス名 [;パス名]
2  path %path% ;パス名 [;パス名]
3  path [;]

pathは、環境変数PATHに記憶されている設定情報を変更、または表示するコマンドである。
(変更した内容は現在実行中のコマンドプロンプトのみで有効)

1.新しいパスを設定する。複数のパスを設定するにはセミコロン「;」で区切って指定する。
  なお、新しいパスを設定すると、それまで記憶されていたパスは新しい内容に全て置き換えられて
  しまうので注意。
2.現在記憶されているパスをそのままに保持した状態で、新しいパスを追加。
  新しいパスの後ろに古いパスを付け加えたい場合は、新しいパスの後ろに、セミコロン「;」
  をつけた「%path%」を指定する。
3 全てのコマンドサーチパスの削除。

単独でpathコマンドを実行すると、現在のコマンドサーチパスの中身、
環境変数pathの格納内容が表示される。


パラメータ
 パス名・・実行可能ファイルの存在するパスを、コマンド検索用のパスとして指定する。

■ 使用例 ■

・新しいパスを設定

C:¥>path C:¥aaa¥bbb

・現在設定されているコマンドサーチパスを表示

C:¥>path

・現在設定されているパスに新しいパスを追加

C:¥>path %path%;C:¥aaa¥bbb

・環境変数PATHの内容をクリア

C:¥>path ;
◆ prompt

prompt [文字列]

promptは、コマンドプロンプトの表示内容を変更するコマンドである。

パラメータ
 文字列・・コマンドプロンプトに表示したい文字列を指定。

コマンドプロンプトの表示内容とは、一般に「C:¥>」の部分を指す。
promptコマンドでこの部分を任意の文字列に置き換える事ができる。
また、特殊コードを使用して、日付や時刻などをコマンドプロンプトに表示させる事もできる。
パラメータを指定せずにpromptコマンドを実行することで元に戻る。

promptコマンドで利用できる特殊コード一覧
$A &
$B |(パイプ)
$C ((左括弧)
$D 現在の日付
$E エスケープコード(ASCIIコードの27、0x1b)
$F )(右括弧)
$G >
$H バックスペース(直前の文字を削除)
$L <
$N 現在のドライブ
$P 現在のドライブとパス
$Q =(等号)
$S スペース
$T 現在の時刻
$V Windowsのバージョン番号
$_ 改行
$$ $
$+ pushdコマンドを連続して実行した回数だけプラス記号が表示される。
$M ドライブレターに関連付けられているリモートホスト名を表示。現在のドライブが ネットワークドライブでない場合は、空白になる。

* デフォルトのコマンドプロンプトは「$p$g」
■ 使用例 ■

・コマンドプロンプトの文字列を変更

C:¥>prompt コマンドプロンプト$s

・さらにデフォルトのコマンドプロンプトに戻す

コマンドプロンプト prompt
◆ reg

reg サブコマンド

regは、レジストリの編集をコマンドプロンプトから行うコマンドである。

パラメータ
 サブコマンド・・レジストリを操作するためのコマンドを指定。


サブコマンド
ADD レジストリに新しいサブキー、またはエントリを追加。
DELETE レジストリから指定したサブキー、またはエントリを削除。
COPY 指定したサブキー、およびエントリを指定した場所にコピー。
SAVE 指定したサブキー、エントリおよび値のコピーをファイルに保存。この場合の保存ファイルは 拡張子を「.hiv」(ハイブファイル)とする。
LOAD reg saveで保存されたサブキーとエントリを、指定したサブキー以下にロードする。 この場合の操作は、実際にレジストリ内に書き込むのではなく、一時的に組み込むといった意味合いになる。
UNLOAD reg loadでロードされたレジストリのセクションを切り離す。
RESTORE reg saveで保存されたサブキーとエントリを指定したサブキー以下に書き戻す。
COMPARE 指定した2つのレジストリのサブキー、またはエントリを比較する。
EXPORT 指定したサブキー、エントリ及び値のコピーを、ほかのマシンでも展開できるように ファイルに保存する。保存ファイルは拡張子を「.reg」とする。
IMPORT reg exportで保存されたregファイルから、エクスポートされたサブキー、エントリ及び 値を読み出し、レジストリに書き戻す。
QUERY 指定したサブキー以下に、含まれる各キーとエントリの一覧を表示する。


 Win2000 XPでのレジストリキーは階層構造をとり、以下の5つのグループに集約される。
 この5つのキーはルートキーと呼ばれる。
 regコマンドではこれらのルートキーを指定するが、その際は省略してもよい。


ルートキー
省略形
HKEY_CLASSES_ROOT Windowsで使用されるクラスの集合。 HKCR
HKEY_CURRENT_USER その時点でログオンしているユーザに対して有効な設定項目。 HKCU
HKEY_LOCAL_MACHINE ローカルコンピュータの全体に渡って有効な設定項目。 HKLM
HKEY_USERS ユーザーごとのHKEY_CURRENT_USERを集めた設定項目。 HKU
HKEY_CURRENT_CONFIG 現在のハードウェアの設定項目。 HKCC

** サブコマンドには各々にパラメータやオプションが存在するが、helpを参照。

□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■

** レジストリのバックアップ **

レジストリの編集の際、レジストリのバックアップはとても重要です。
レジストリの編集前に必ず実行しておく必要があります。
そのバックアップには、レジストリ全体のバックアップと、
一部のサブキーを対象としたバックアップがあります。

まずレジストリ全体のバックアップについて説明します。
Windows 9x/Meでは、レジストリが保存されているファイル
(system.dat、user.datなど)をコピーしておけばよかったのですが、
Windows 2000/XPはWindows 9x/Meとシステムが大幅に異なるために
ファイルのコピーでは対応できません。

そこでバックアップユーティリティでシステム状態をバックアップすることで
レジストリのバックアップも行うようにします。Windows 2000ではシステム修復
ディスクを作成してもよいでしょう。

次にサブキーのバックアップです。
これは特定のサブキーの値エントリを変更して、アプリケーションの動作検証を行う場合に有効です。
このバックアップには、reg exportコマンドを利用します。
これを利用する事で、指定したサブキー以下に含まれるサブキーとエントリ、
値がregファイルに保存されます。
書き戻しはreg importコマンドで対象となるregファイルを指定するだけです。

他にレジストリの内容をファイルに保存する方法としては、reg saveコマンドがあり、
作成されたハイブファイルから書き戻すコマンドが、reg restoreです。
reg restoreコマンドは保存内容の書き戻し先を任意に選択できるので、非常に便利な機能ですが
書き戻し先が固定されるバックアップと復元という作業にはreg exportとreg importが適しています。

□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■
■ 使用例 ■

・指定したサブキー以下に含まれるサブキーを一覧表示

C:¥>reg query hkcu¥aaa

・新しいサブキーを追加

C:¥>reg add hkcu¥aaa¥bbb
◆ runas

runas [/profile | /noprofile] [/env] [/netonly] [/savecred] [/smartcard]
[/showtrustlevels] [/trustlevel:レベル] /user:ユーザー名 コマンド

runasは、現在ログオンしているユーザーを変更せずに、別のユーザーの実効権限
を使って特定のコマンドやツールを実行できるようにするためのコマンドである。

 * 一般ユーザーとしてログオンしたままでもシステム管理作業を行う場合に
   管理者権限を取得して作業を行う事が可能。
   一部のアプリケーションでは正しく動作しない可能性がある。


パラメータ
 コマンド・・実行したいコマンド名及びプログラム名を指定。
        空白を含む場合はダブルクォーテーション「"」で全体を囲む。

/profile
 コマンドを実行する際に、ユーザーのプロファイルを読み込むように指定。(デフォルト)
/noprofile
 コマンドを実行する際に、ユーザーのプロファイルを読み込まないように指定。
/env
 ユーザーのローカル環境ではなく、現在の環境を使用する場合に指定。
/netonly
 ユーザーの資格情報がリモートアクセスのみで使用する場合に指定。
/savecred
 ユーザーが以前に保存した資格情報を使う場合に指定。(WinXP Proのみ)
/smartcard
 スマートカードから資格情報を提供する場合に指定。
/showtrustlevels
 「/trustlevel」オプションの一覧を表示。(Active Directory環境で使用)
/trustlevel:レベル
 コマンドを実行するための承認レベルを指定。(Active Directory環境で使用)
/user:ユーザー名
 利用したい実行権限を持つユーザー名を指定。
 ユーザー名の形式は、使用中のマシンを対象とする場合は、「ユーザー@コンピュータ名」
 または「コンピュータ名@ユーザー」とする。
 ドメイン管理者としてrunasコマンドを利用する場合には、「ユーザー@ドメイン」又は
 「ドメイン@ユーザー」とする。

■ 使用例 ■

・実行するのに管理者権限が必要なコマンドを実行

C:¥>runas /user:administrator "defrag f:"
◆ sc

sc [コンピュータ名] サブコマンド [サービス名] [サブコマンドのパラメータ]

scは、システムが提供する各種サービスを制御するサービスコントロールマネージャ
(SCM)と通信し、指定したサービスの状態表示や設定の変更を行うコマンドである。

 実際の処理は通常のコマンドとは異なり、scコマンドに続けて設定などを行う操作を示す
 サブコマンドを指定して行う。
 各サブコマンドには、それぞれパラメータやオプションが存在する。
 詳細についてはヘルプを参照。


パラメータ
 コンピュータ名・・ ネットワーク上のサーバで動作しているサービスを設定対象とする場合に
            そのコンピュータ(サーバ)名を指定する。書式は「¥¥コンピュータ(サーバ)名」。
 サブコマンド・・ 指定されたサービスに対する設定操作を行う為のサブコマンドを指定。
           サブコマンドは全部で24個ある。
 サービス名・・ 設定対象となるサービス名を指定する。


サブコマンド
BOOT 直前に指定されたOSの起動内容を、全回正常起動時の構成として保存するするかどうかを指定。サービス名は不要。
CONFIG レジストリおよびサービスコントロールマネージャ(SCM)のデータベースに登録されている各種サービスの設定 内容を変更する。
CONTINUE 指定した一時停止中(PAUSE)のサービスを、再開させるためのリクエストを送信する。
CONTROL 指定した制御コードをサービスに送信する。定義済み制御コードのほか、ユーザーが定義する制御コードも指定できる。
CREATE レジストリ及びサービスコントロールマネージャ(SCM)のデータベースに、 新規サービスのサブキーとエントリを作成。
DELETE レジストリから指定したサービスのサブキーを削除する。サービスが実行中もしくは別のプロセスが利用している 場合は、対象サービスに削除マークが付けられる。
DESCRIPTION 登録したサービスに説明文を追加する。文字数に制限なし。
ENUMDEPEND 指定したサービスに依存しているサービス(依存サービス)を一覧表示する。 依存サービスとは、特定のサービスが実行されていないと実行できないサービスの事。
FAILURE 指定したサービスが失敗した場合に、どのように対処するか、失敗時の動作を指定する。
GETDISPLAYNAME 指定した「サービス名」から「サービス表示名」を取得する。
「サービス表示名」とは、システムがサービスを特定するための「サービス名(キー名)」に対し、 ユーザーがわかりやすいように説明的な名前を付けたもの。
GETKEYNAME 指定した「サービス表示名」から「サービス名」を取得する。つまり GETDISPLAYNAMEの逆の動作をする。
INTERROGATE 指定したサービスに対しINTERROGATE制御要求を送信。INTERROGATEを受け取った サービスは、必ず現在の状態をサービスコントロールマネージャ(SCM)に報告する。 その結果、SCMデータベースのサービスの状態が更新される。
LOCK サービスコントロールマネージャ(SCM)のデータベースをロックする。 サービスの状態を更新できなくなるため、新規にサービスを開始することなどができなくなる。サービス名は不要。
PAUSE 指定した実行中のサービスを、一時停止させるためのリクエストを送信する。 一時停止できないサービスもある。
QC 指定したサービスの構成情報を一覧表示する。
QDESCRIPTION 指定したサービスの説明文を表示する。
QFAILURE 指定したサービスが失敗した場合に、どのように対処するか、その動作に関する情報を表示する。
QUERY 指定したサービスあるいはドライバに関する基本的な情報を一覧表示する。
QUERYEX 指定したサービスあるいはドライバに関する拡張された情報を一覧表示する。
QUERYLOCK サービスコントロールマネージャ(SCM)のデータベースがロックされているかどうか、その 状態を表示する。サービス名は不要。
SDSET 指定したサービスに設定されているセキュリティ記述子を変更する。
SDSHOW 指定したサービスに設定されているセキュリティ記述子を表示する。
START 指定したサービスを開始するためのリクエストを送信する。
STOP 指定したサービスを停止するためのリクエストを送信する。

■ 使用例 ■

・サービス「messenger」の構成情報を一覧表示

C:¥>sc qc messenger

・サービス「themes」の失敗時の対処方法を調べる

C:¥>sc qfailure themes

・サブコマンド「lock」のヘルプ情報を表示

C:¥>sc lock /?
◆ schtasks

schtasks サブコマンド [サブコマンドのパラメータ]

schtasksは、定期的、あるいは指定された日時に指定されたコマンド、又は
プログラム(バッチファイル)などが実行されるようにするコマンド。
同様の機能をもつatコマンドよりもschtasksの方が、はるかに高機能である。
実際の処理では通常のコマンドと異なり、schtasksコマンドに続けて、スケジュールに関する
操作を行うためのサブコマンドを指定する。


パラメータ
 サブコマンド・・スケジュールを設定するためのサブコマンドを指定。

/create
 スケジュールされたタスクを新規作成する。
/delete
 指定したタスクを削除する。
/query
 現在登録されているタスクを一覧表示する。
/change
 指定したタスクのスケジュール内容を変更する。
/run
 指定したタスクを今すぐ実行する。
/end
 現在実行中のタスクを強制的に停止する。

サブコマンドにはそれぞれにパラメータが存在するので、
以下に挙げた以外の詳細を知りたい場合はヘルプを参照する。



■■■■ schtasks /create  タスクの新規作成 ■■■■
schtasks /create /tn タスク /tr コマンド /sc 種類 [/mo 実行頻度]
[/d 日] [/m 月] [/i 分] [/st 時刻] [/sd 日付] [/ed 日付]
パラメータ・オプション
/tn タスク 作成するスケジュールのタスク名を指定する。空白を含む場合、 ダブルクォーテーションで全体を囲む。
/tr コマンド 実行するコマンドあるいはプログラムを指定する。 パラメータを付ける場合はダブルクォーテーションで全体を囲む。
/sc 種類 スケジュールの種類を指定する。指定できる種類は次の通り。
種類 内容
MINUTE 分単位でスケジュールを指定
HOURLY 時間単位でスケジュールを指定
DAILY 日単位でスケジュールを指定
WEEKLY 週単位でスケジュールを指定
MONTHLY 月単位でスケジュールを指定
ONCE 指定した日時に一回限り実行
ONSTART システム起動ごとに実行
ONLOGON ログオンごとに実行
ONIDLE アイドル状態が一定時間続いた場合に実行
/mo 実行頻度 スケジュールを実行する頻度を、上記スケジュールの種類に応じて 指定する。種類が「MONTHLY」の場合は必須である。省略時は「/mo 1」を指定したとみなされる。 種類と実行頻度として指定できる値の関係は以下の通り。
種類 値           内容
MINUTE 1~1439       n分ごとに実行
HOURLY 1~23         n時間ごとに実行
DAILY 1~365        n日ごとに実行
WEEKLY 1~52         n週ごとに実行
MONTHLY 1~12         nヶ月ごとに実行
LASTDAY なし          毎月月末に実行
FIRST なし          第1週に実行
SECOND なし          第2週に実行
THIRD なし          第3週に実行
FOURTH なし          第4週に実行
LAST なし          最終週に実行
/d 日 曜日または日にちを指定する。 スケジュールの種類が「WEEKLY」、または「MONTHLY」の場合に有効。曜日は以下のように3文字で表す。
内容
MON 月曜日
TUE 火曜日
WED 水曜日
THU 木曜日
FRI 金曜日
SAT 土曜日
SUN 日曜日
スケジュールの種類と指定できる値は次の通り。
WEEKLYの場合 MON~SUN、あるいは「*(毎日)」。 省略時は「/d MON」を指定したとみなされる。
MONTHLYの場合 1~31の数字。省略時は「/d 1」 を指定したとみなされる。「/mo」オプションにFIRST、SECOND、THIRD、FOURTH、LAST が指定されている場合は、必ず「/d」オプションで曜日を指定する。
/m 月 月を指定する。スケジュールの種類が「MONTHLY」の場合に有効。 指定できる値は1~12および「*(毎月)」である。省略時は「/m *」を指定したとみなされる。 「/mo」オプションで「LASTDAY」我指定されている場合、月指定は必須になる。カンマで区切れば複数の指定可能。
/i 分 指定したタスクが開始されるまでの分数を指定する。スケジュールの種類が 「ONIDLE」の場合に有効でかつ必須である。指定できる値は1~999までの整数。
/st 時刻 指定したタスクが開始される時刻(24時間形式 : HH:MM:SS) を指定する。スケジュールの種類がONSTART、ONLOGON、ONIDLE以外の場合に有効。省略時は、SCHTASKSコマンドが 終了した時点での時刻が指定されたとみなされる。スケジュールの種類が「ONCE」の場合は必須。
/sd 日付 指定したタスクが開始される日付(YYYY:MM:DD : ロケール情報に依存)を指定する。全てのスケジュールの種類で有効。省略時はSCHTASKSコマンドが終了した時点での 日付が指定されたとみなされる。スケジュールの種類が「ONCE」の場合は必須。
/ed 日付 指定したタスクが実行される最終日付(YYYY:MM:DD : ロケール情報に依存)を指定する。指定した日付以降、指定したタスクは実行されなくなる。 スケジュールの種類がONCE、ONSTART、ONLOGON、ONIDLE以外の場合に有効。省略時、終了日付は指定されない。



■■■■ schtasks /delete  タスクの削除 ■■■■
schtasks /delete /tn タスク [/f]
パラメータ・オプション
/tn タスク 削除するタスク名を指定。「*」を指定すると、当該マシンに スケジュールされている全てのタスクが(ユーザーに関係なく)削除される。
/f 削除時に、確認のメッセージを表示しない。



■■■■ schtasks /query  登録されているタスクの一覧表示 ■■■■
schtasks [/query] [/fo 形式] [/nh] [/v]
パラメータ・オプション
/fo 形式 一覧表示の出力形式を指定する。指定できる形式はTABLE 、LIST、CSVの3種類。
/nh 出力形式としてTABLEまたはCSVを指定した場合に、見出し情報の出力 を行わない。
/v 出力形式としてLIST、CSVを指定した場合に、詳細情報を表示させる。



■■■■ schtasks /change  タスクの設定内容の変更 ■■■■
schtasks /change /tn タスク /tr コマンド
パラメータ・オプション
tn タスク 設定を変更するタスク名を指定。
tr コマンド 実行したい新しいコマンドあるいはプログラムを指定。

上記に加え、タスクを実行するためのユーザー情報を変更することができる。
この場合「/ru」「/rp」オプションを利用する。


■■■■ schtasks /run  指定したタスクの実行 ■■■■
schtasks /run /tn タスク
パラメータ・オプション
tn タスク ただちに実行したいタスク名を指定する。



■■■■ schtasks /end  タスクの強制停止 ■■■■
schtasks /end /tn タスク
パラメータ・オプション
tn タスク 停止させたいタスクを指定する。


リモートマシンに対する設定とタスク実行時の権限の変更
schtasksコマンドでは、リモートマシン上でタスクを作成したり、設定を変更したりできる。 リモートマシンに対してschtasksコマンドを実行する場合には、次のようなパラメータを指定する。
/s リモートマシン 対象となるリモートマシンのコンピュータ名あるいは IPアドレスを指定する。書式は「¥¥コンピュータ名」「¥¥IPアドレス」 となる。(¥は省略可能)
/u ユーザー 指定したユーザーアカウントの権限でschtasksコマンドを 実行する。書式は「ドメイン¥ユーザー名」で、ドメイン名は省略できる。
/p パスワード 「/u」オプションで指定したユーザーのパスワードを指定する。

ログオンしたユーザーの権限のまま、リモートマシンでコマンドを実行するなら、「/u」 、「/p」オプションは必要なし。ただし、そのユーザーのもつ権限が、リモートマシン でも通用することが前提。
また、タスクを実行するときの権限も設定可能。通常は、schtasksコマンドを実行(タスクを作成)した
ユーザーの権限で、各タスクも実行される。 実行時の権限の設定・変更には次のオプションを指定する。
/ru ユーザー 指定したユーザーアカウントの権限でタスクを実行する。 指定できるユーザー名は、「ドメイン¥ユーザー名」(ドメイン名省略可能) または「System」(「""」も可)である。 後者の場合、実行時のユーザーは「NT Authority¥System」となる。
/rp パスワード 「/u」オプションで指定したユーザーのパスワードを指定する。 「NT Authority¥System」の場合、パスワードは要求されないので、 「/rp」オプションは必要なし。


■ 使用例 ■

・New1という名で新規タスクを作成
 スケジュール内容は午前12時に開始、以降12時間ごとに指定プログラム実行

C:¥>schtasks /create /tn New1 /tr C:¥aaa¥bbb.bat /sc hourly /mo 12 /st 02:00:00

・現在登録されているタスクを一覧表示

C:¥>schtasks /query /fo table

・指定したタスクを削除

C:¥>schtasks /delete /tn New1
◆ set

1  set [変数 [=[]]]
2  set /a [変数=]
3  set /p 変数= [文字列]

setは、現在の環境変数に格納されている値を表示したり、 その値を変更したりするコマンドである。
ただし設定した内容は、現在実行中のコマンドプロンプトのみに有効。
システムに登録されている全ての環境変数とその値を一覧表示するには、
パラメータやオプションの指定なしでsetコマンドを実行する。

1 新しい環境変数を設定するには、変数名と値を「=」で結ぶ。
  変数名に既存の環境変数を指定すると、  その内容は新しい値で上書きされるので注意。
  値を指定しないで実行した場合、その環境変数に設定されている値が削除される。
2 「/a」オプションを指定すると、指定した環境変数に計算結果を代入する事
  ができる。この時に計算結果も表示。 ▼▼ 利用できる演算子 ▼▼
3 「/p」オプションは、キーボードからユーザーによって入力された値を、
  指定した環境変数に代入する場合に利用する。
  このときパラメータとして任意の文字列を指定すると、入力行のプロンプトとして表示される。


パラメータ
 変数・・  値を表示または、設定したい環境変数名を指定する。
 値・・  環境変数に設定したい値を指定する。
 式・・  計算式を指定する。
 文字列・・  入力時のプロンプトとして表示する文字列を指定する。

/a
 「式」で指定された計算式の結果を、値として表示又は指定した変数に代入する。
/p
 指定した変数にキーボードからの入力を代入する。


利用できる演算子
( ) グループ化
* / % + - 算術演算子
<< >> 論理シフト
& ビット演算子AND(ビット単位の論理積)
^ ビット演算子排他的OR(ビット単位の排他的論理和)
| ビット演算子OR(ビット単位の論理和)
= *= /= %= += -= &= ^=
|= <<= >>=
代入
, 式の区切り記号

< > | & ^などの文字は、コマンドインタプリタcmd.exeでも使用する特殊文字のため、
先頭にエスケープ文字「^」を付けるかダブルクォーテーション「"」で囲む必要がある。
■ 使用例 ■

・現在登録されている全ての環境変数と設定されている値を一覧表示する

C:¥>set

・新しい環境変数を定義する

C:¥>set sam=sample

・指定した環境変数を削除する

C:¥>set sam=
◆ shutdown

shutdown シャットダウン方法 [-f] [-m コンピュータ名] [-t 秒数] [-c "コメント"]
[-d [u] [p] コード番号]

shutdownは、指定したマシンのWindowsシステムをコマンドプロンプトから
シャットダウンするためのコマンドである。
シャットダウン方法を指定せず、オプションのみを指定してshutdownコマンドを実行すると
強制的にログオフされる。


パラメータ
 シャットダウン方法・・  シャットダウンの種類を指定。

    -I : シャットダウン方法を指定するダイアログボックスを表示する
    -L : 現在ログオン中のユーザーをログオフする
    -S : システムのシャットダウン
    -R : システムの再起動
    -A : 指定されたシャットダウンの中止

-m コンピュータ名
 リモートマシンをシャットダウンする場合に指定する。
 コンピュータ名の書式は「¥¥コンピュータ名」パラメータの「-L」とは併用不可。
-t 秒数
 シャットダウンまでのタイムアウト時間を秒数で指定する。
 省略時は30秒。
-c "コメント"
 シャットダウン時に表示するコメントを指定する。(最大127文字)
-f
 実行中のアプリケーションを強制終了させる。
-d [u][p]コード番号
 シャットダウンの理由コードを指定する。

     ・U ユーザーコード
     ・P 計画済みシャットダウンコード
     ・コード番号 :XX:YY
               XX : 重大な理由コード(255以下の正の整数)
               YY : 重大ではない理由コード(65535以下の正の整数)

********************* ********************* ********************* *********************

 パラメータ「-I」を指定すると、シャットダウン用ダイアログボックスが表示される。
 「-I」は始めに指定する必要があり、指定されると他のオプションは無視。

 パラメータ「-L」を指定した時も他のオプションは無視。
 ログオフの際には警告メッセージの表示もなし。

 パラメータ「-S」又は「-R」を指定して、shutdownコマンドを実行した場合は
 警告メッセージが表示される。

 shutdownコマンドが実行されても、タイムアウトまでに「-A」を指定して再びshutdownコマンドを
 実行すると、シャットダウンをキャンセルできる。
 実行中のアプリケーションがあった場合、「プログラムの終了」ダイアログボックスが表示され
コマンドの実行が中断される。キャンセルボタンをクリックすると、シャットダウンをキャンセルできる。

         ◆◆◆◆  ◆◆◆◆  ◆◆◆◆  ◆◆◆◆  ◆◆◆◆  ◆◆◆◆

 「-f」オプションを指定すると中断のプロセスを無視する。
 実行中のアプリケーションがあっても強制的に終了しシャットダウンが実行される。

 「-m」オプションが指定されない場合、使用中のマシンがシャットダウンされる。

 「-d」オプションに付随する理由コードは、一般的な使用で利用する場面は余りない。

********************* ********************* ********************* *********************
■ 使用例 ■

・メッセージを表示して50秒後にシャットダウンを実行

C:¥>shutdown -s -t 50 -c "50秒でシャットダウンします"
◆ start27

start ["タイトル"] [/d パス] [/i] [/min | /max] [/separate | /shared]
[処理優先度] [/wait] [/b] [コマンド] [パラメータ]

startは、現在実行中のコマンドプロンプトとは別のウィンドウを開き、
してされたコマンドまたは、プログラムを実行するコマンドである。
このstartコマンドによって起動した新たなコマンドプロンプトでは、起動元のコマンドプロンプト
の環境変数がもつ値やカレントディレクトリがそのまま引き継がれる。


パラメータ
 コマンド・・  実行したいコマンドまたはプログラム、バッチファイルなどを指定。
 パラメータ・・  「コマンド」で指定したコマンドやプログラム、バッチファイルに渡すパラメータを指定。

"タイトル"
 新たに開くコマンドプロンプトのウィンドウのタイトルバーに表示するタイトルを指定。
/d パス
 コマンドまたはプログラムを実行する初期ディレクトリを指定。
/i
 現在の環境でなく、cmd.exeが起動する基本環境でコマンドを実行。
/min
 新しいコマンドプロンプトのウィンドウを最小化にされた状態で開く。
/max
 新しいコマンドプロンプトのウィンドウを最大化にされた状態で開く。
/separate
 別メモリ領域で16ビットプログラムを実行する。
/shared
 共有メモリ空間で16ビットプログラムを実行する。
処理優先度
 コマンド実行時の処理優先度を指定。選択肢は以下の6種類。
  • /LOW ・・・ IDLE優先度クラスで実行
  • /NORMAL ・・・ NORMAL優先度クラスで実行
  • /HIGH ・・・ HIGH優先度クラスで実行
  • /REALTIME ・・・ REALTIME優先度クラスで実行
  • /ABOVENORMAL ・・・ ABOVENORMAL優先度クラスで実行
  • /BELOWNORMAL ・・・ BELOWNORMAL優先度クラスで実行
/wait
 指定したコマンドの処理が終了するまで、起動元となるコマンドプロンプト(ウィンドウ)の動作を待機。
/b
 コマンドプロンプトのウィンドウを新たに開かずに指定したコマンドを実行する。

startコマンドの動作は、指定されるコマンド(プログラム)の種類によって若干変わってくる。
以下に代表的なケースを示す。

一般的なWindowsプログラムが指定された場合(regedit、calcなど)
指定されたプログラムは、通常とは同じプロセスで起動・実行される。startコマンドは 実行されたプログラムの動作に関係なくコマンドプロンプトに戻る。新たなコマンドプロンプトの ウィンドウは開かない。
内部コマンドやバッチファイルが指定された場合
新たなコマンドプロンプトのウィンドウが開き、指定されたコマンドやプログラムファイルが実行される。 この場合、実行が終了しても開いたウィンドウは閉じない。
コマンドプロンプトで利用するコマンドツールが指定された場合(defragなど)
Windowsプログラムでありながらコマンドプロンプトで利用するツールなどを指定した場合も 、新たなコマンドプロンプトのウィンドウが開き、そこで実行される。 処理が終了するとウィンドウはすぐに閉じられる。
データファイル名が指定された場合(txtやdocファイル)
そのファイルに特定のプログラム(アプリケーション)が関連付けられていれば、関連付けられている プログラムが起動する。(コマンド拡張機能が有効の場合)関連付けがなければエラーメッセージ が表示される。
なお、同じディレクトリ内にそのファイルと同名のサブディレクトリが存在する場合は、 エクスプローラが起動し、指定したディレクトリを開く。 (拡張子まで含めての指定ならば、プログラムの起動になる。)
ファイル名でなくディレクトリ名が指定された場合
エクスプローラが起動し、指定したディレクトリを直接開く。


「/b」オプションを指定すると、コマンド実行の際に新しいウィンドウは開かなくなるが、
実行中のコマンドは基本的に「Ctrl+Cキー」で処理を中断することはできなくなる。
どうしても処理を中断したい場合は「Ctrl+Breakキー」を押す。
■ 使用例 ■

・エクスプローラが起動してaaaディレクトリを開く

C:¥>start aaa

・レジストリエディタを起動

C:¥>start regedit

・新しく開くコマンドプロンプトのウィンドウのタイトルを指定

C:¥>start "New Window" dir /s
◆ systeminfo

systeminfo [/s コンピュータ名 [/u ユーザー名 [/p パスワード]]] [/fo 形式] [/nh]

systeminfoは、コンピュータの詳細なシステム構成情報を一覧表示するためのコマンドである。
ネットワーク上にあるリモートマシンのシステム構成情報を、管理者が調査する場合などに利用する。


/s コンピュータ名
 システム情報を表示したいリモートマシンのコンピュータ名、またはIPアドレスを指定。
 (コンピュータ名に¥記号は使わない)
/u ユーザー名
 リモートマシンに接続するためのユーザーアカウントを指定。
 書式は「ドメイン名¥ユーザー名」でドメイン名は省略可。
/p パスワード
 「/u」オプションで指定したユーザーのパスワードを指定。省略すると実行時に入力を求められる。
/fo 形式
 システム情報を一覧表示する際の出力形式を指定する。
 指定できる形式はTABLE、LIST、CSVの3種類である。省略時はLIST形式になる。
/nh
 出力形式としてTABLEまたはCSVを指定した場合に、見出し情報の出力を行わない。


表示される内容は、OS構成、Windowsアップデート情報、プロダクトID、メモリ構成、ネットワークカード
などのハードウェア構成情報やBIOS関連情報など多岐に渡り、情報量はかなり多い。
その性質上、テキストファイルにリダイレクトし保管しておくと役立つ。

■ 使用例 ■

・現在使用しているマシンの構成情報を表示

C:¥>systeminfo
◆ taskkill

taskkill [/s コンピュータ名 [/u ユーザー名 [/p パスワード]]]
[/fi フィルタ] [/pid プロセスID | /im イメージ名] [/f] [/t]

taskkillは、現在実行されている任意のプロセスやタスクを終了させるためのコマンドである。

/s コンピュータ名
 処理対象とするりもーとマシンのコンピュータ名またはIPアドレスを指定。
 (コンピュータ名に¥記号は使わない)
/u ユーザー名
 リモートマシンに接続するためのユーザーアカウントを指定。
 書式は「ドメイン名¥ユーザー名」で、ドメイン名は省略可。
/p パスワード
 「/u」オプションで指定したユーザーのパスワードを指定。省略すると実行時に入力を求められる。
/fi フィルタ
 特定のプロセスを処理対象とする、あるいは処理対象からはずすといった条件をフィルタとして指定する。
/pid プロセスID
 終了させるプロセスのPIDを指定。
/im イメージ名
 終了させるプロセスのイメージ名(実行ファイル名)を指定。
 全てのイメージ名を指定するにはワイルドカード(*)を指定。
/f
 指定したプロセスの強制終了を指定。
/t
 指定したプロセスとその子プロセス全てを終了する。

「/s」オプションを指定すればリモートマシンで動作中のプロセスを処理対象にできる。
「/u」および「/p」オプションを指定すれば、実行するユーザーアカウントを指定することができる。
通常処理対象の指定は「/pid」または「/im」オプションを指定。

複数のプロセスを終了させたい場合はその数だけオプションを記述する必要がある。
プロセスIDを調べるにはTASKLISTコマンドを使用する。

「/im」オプションでワールドカード(*)を使用すると、全てのプロセスが処理対象に。
ただし単独では無効。(「/fi」オプションと同時指定する必要あり)
「/fi」オプションを使用することで処理対象とするプロセスをフィルタリングすることが可能。
指定できるフィルタ名と演算子、値は以下の通り。

フィルタ名 演算子
HOSTNAME eq ne コンピュータ名
STATUS eq ne RUNNING(実行中)または
NOT RESPONDING(応答なし)
IMAGENAME eq ne イメージ名
PID eq ne gt lt ge le プロセスID
SESSION eq ne gt lt ge le セッション番号
CPUTIME eq ne gt lt ge le CPU使用時間(hh:mm:ss)
MEMUSAGE eq ne gt lt ge le メモリ使用量(KB)
USERNAME eq ne ユーザー名
SERVICES eq ne サービス名
WINDOWTITLE eq ne ウィンドウのタイトル

各演算子の意味は以下の通り
  • eq : 一致(値と一致する)
  • ne : 不一致(値と一致しない)
  • gt : より大きい
  • lt : より小さい
  • ge : 以上
  • le : 以下
■ 使用例 ■

・プロセスID1836のプロセスを終了

C:¥>taskkill /pid 1836

・user2が実行しているiexplore.exeを終了

C:¥>taskkill /fi "username eq user2" /im iexplore.exe
◆ tasklist

tasklist [/s コンピュータ名 [/u ユーザー名 [/p パスワード]]]
[/m [モジュール] | /svc | /v] [/fi フィルタ] [/fo 形式] [/nh]

tasklistは、現在実行されている任意のプロセスやタスクの一覧を表示するためのコマンドである。

/s コンピュータ名
 処理対象とするリモートマシンのコンピュータ名またはIPアドレスを指定する。  (コンピュータ名に¥記号は使わない)
/u ユーザー名
 リモートマシンに接続するためのユーザーアカウントを指定する。
 書式は「ドメイン名¥ユーザー名」で、ドメイン名は省略可。
/p パスワード
 「/u」オプションで指定したユーザーのパスワードを指定する。省略すると実行時に入力を求められる。
/m モジュール
 指定されたモジュール(DLLファイル)を読み込んだ全てのプロセスを一覧表示する。
 モジュール名が指定されない場合は各プロセスによって、読み込まれた全てのモジュールを表示する。
/svc
 各プロセスのサービス名を表示する。
/v
 各プロセスの詳細情報を表示する。
/fi フィルタ
 特定のプロセスを処理対象とする、あるいは処理対象からはずすと言った条件をフィルタとして指定する。
/fo 形式
 システム情報を一覧表示する際の出力形式を指定する。
 指定できる形式はTABLE、LIST、CSVの3種類。省略時はTABLE形式になる。
/nh
 出力形式としてTABLEまたはCSVを指定した場合に、見出し情報の出力を行わない。

「/s」オプションを指定すればリモートマシンで動作中のプロセスを一覧表示できる。
「/u」および「/p」オプションを指定すれば、実行するユーザーアカウントを指定することができる。
表示される内容は、イメージ名、プロセスID、セッション名、セッション番号、メモリ使用量である。
「/v」オプションによって、状態、ユーザー名、CPU時間、ウィンドウタイトルが追加される。

「/m」オプションを指定すると、動作中の各プロセスが利用しているDLL(ダイナミックリンクライブラリ)
が一覧表示される。
「/svc」オプションでは各プロセスで動作中のサービス名を知る事ができる。

オプションの指定を行わなければ現在使用中のマシンのプロセス情報を一覧表示できる。
(情報の表示形態はTABLE形式である。)
「/fo」オプションを指定すると、情報の表示形態を明示的に指示できる。

「/fi」オプションを使用すれば、表示内容をフィルタを使った条件によって絞り込むことなどが可能。
指定できるフィルタ名と演算子、値は以下の通り。

フィルタ名 演算子
STATUS eq ne RUNNING(実行中)または
NOT RESPONDING(応答なし)
IMAGENAME eq ne イメージ名
PID eq ne gt lt ge le プロセスID
SESSION eq ne gt lt ge le セッション番号
SESSIONNAME eq ne セッション名
CPUTIME eq ne gt lt ge le CPU使用時間(hh:mm:ss)
MEMUSAGE eq ne gt lt ge le メモリ使用量(KB)
USERNAME eq ne ユーザー名
SERVICES eq ne サービス名
WINDOWTITLE eq ne ウィンドウのタイトル
MODULES eq ne DLL名

各演算子の意味は以下の通り
  • eq : 一致(値と一致する)
  • ne : 不一致(値と一致しない)
  • gt : より大きい
  • lt : より小さい
  • ge : 以上
  • le : 以下
■ 使用例 ■

・現在実行中のプロセスを一覧表示

C:¥>tasklist

・user2が実行しているプロセスのみを表示

C:¥>tasklist fi "username eq user2"

・メモリ使用量が120KB以下のプロセスをリスト形式で詳細表示

C:¥>tasklist /v /fo list /fi "memusage le 120"
◆ title

title 文字列

titleは、コマンドプロンプトウィンドウのタイトルバーに表示される
タイトル文字列を変更するコマンドである。
変更されたタイトルは、再度、同じコマンドプロンプト内でtitleコマンドを実行しなければ
戻す事ができない。


パラメータ
 文字列・・コマンドプロンプトのウィンドウのタイトルに、表示したい文字列を指定。

■ 使用例 ■

・コマンドプロンプトウィンドウのタイトルバーの文字列を変更

C:¥>title タイトル変更
◆ ver

ver

verは、使用しているWindowsのバージョン番号を表示するコマンドである。
表示される内容はOS名、バージョン、ビルド番号など。



■ 使用例 ■

・使用しているWindowsのバージョンを表示

C:¥>ver



Copyright © 2004 - ykr414. All Rights Reserved.