ASSOC |
ASSOC [.拡張子[=[ファイルタイプ]]]
.拡張子 |
ファイル タイプに関連付ける拡張子を指定します。 |
ファイルタイプ |
拡張子に関連付けるファイル タイプを指定します。 |
パラメータを指定しないで ASSOC と入力すると、現在のファイルの関連付け
を表示します。 ファイル拡張子を指定して ASSOC を実行すると、そのファイル
拡張子の現在のファイルの関連付けを表示します。 ファイル タイプやコマンド
を指定しないと、そのファイル拡張子の関連付けを削除します。 |
AT |
AT コマンドは、指定された日時にコマンドとプログラムがコンピュータで
実行されるようにスケジュールします。 AT コマンドを使用するには、
Schedule サービスが実行中でなければなりません。
AT |
[\\コンピュータ名] [ [id] [/DELETE] | /DELETE [/YES]] |
AT |
[\\コンピュータ名] 時刻 [/INTERACTIVE] |
|
[ /EVERY:日付[,...] | /NEXT:日付[,...]] "コマンド" |
\\コンピュータ名 |
リモート コンピュータを指定します。 このパラメータを
省略したときは、ローカル コンピュータでコマンドが
スケジュールされます。 |
id |
スケジュールされたコマンドに割り当てられた識別番号です。 |
/delete |
スケジュールされたコマンドを取り消します。
id を指定しなかったときは、コンピュータでスケジュール
されているすべてのコマンドが取り消されます。 |
/yes |
確認せずにすべてのジョブ コマンドを取り消すときに
使用します。 |
時刻 |
コマンドが実行される時刻を指定します。 |
/interactive |
ジョブの実行中、ジョブはログオンしているユーザーの
デスクトップとの対話を許可します。 |
/every:日付[,...] |
毎週指定した曜日に、または毎月指定した日にコマンドが
実行されます。
日付を省略したときは、その月の今日の日付が使用されます。 |
/next:日付[,...] |
指定したコマンドが次の日付(たとえば、次の火曜日) に
実行されます。 日付を省略したときは、その月の今日の日付が
使用されます。 |
"コマンド" |
実行する Windows NT コマンド、またはバッチ プログラムです。 |
|
ATTRIB |
ATTRIB |
[+R | -R] [+A | -A] [+S | -S] [+H | -H] [ドライブ:] [パス] [ファイル名] |
|
[/S [/D]} |
+ |
属性を設定します。 |
- |
属性を解除します。 |
R |
読み取り専用属性 |
A |
アーカイブ属性 |
S |
システム ファイル属性 |
H |
隠しファイル属性 |
[ドライブ:] [パス] [ファイル名]
attrib で処理するファイルまたはフォルダを指定します。 |
/S |
現在のフォルダと全てのサブフォルダの一致するファイルを処理します。 |
/D |
フォルダも処理します。 |
|
BREAK |
DOS システム上で Ctrl+C キーの拡張チェック機能を設定または解除します。
この機能は DOS システムとの互換性を維持するために用意されています。Windows XP
上では何も効果はありません。
Windows XP プラットフォームでコマンド拡張機能を有効にして実行中の場合、
デバッガによるデバッグ時に BREAK コマンドはハードコード ブレークポイント
を入力します。 |
CACLS |
ファイルのアクセス制御リスト (ACL) を表示または変更します。
CACLS ファイル名 |
[/T] [/E] [/C] [G ユーザー名:アクセス権 |
|
[/R ユーザー名 [...]] [/P ユーザー名:アクセス権 [...]] |
|
[/D ユーザー名 [...]] |
ファイル名 |
ACL を表示します。 |
/T |
現在のディレクトリとすべてのサブディレクトリにある
指定されたファイルのACL を変更します。 |
/E |
ACLを書き換えずに、ACL を編集します。 |
/C |
アクセス拒否エラーを無視して、ACL の変更を続行します。 |
/G ユーザー名:アクセス権 |
|
指定されたユーザーにアクセス権を与えます。
アクセス権: |
R |
読み取り |
|
W |
書き込み |
|
C |
変更(書き込み) |
|
F |
フル コントロール |
|
/R ユーザー名 |
指定されたユーザーのアクセス権を失効させます。
(/E オプションと共に使用)。 |
/P ユーザー名:アクセス権 |
|
指定されたユーザーのアクセス権を置き換えます。
アクセス権: |
N |
なし |
|
W |
書き込み |
|
R |
読み取り |
|
C |
変更(書き込み) |
|
F |
フル コントロール |
|
/D ユーザー名 |
指定されたユーザーのアクセスを拒否できます。 |
複数のファイルを指定するには、ワイルドカードを使用できます。
複数のユーザーを指定できます。
省略形:
CI |
- |
コンテナ継承。 |
|
|
ACE はディレクトリに継承されます。 |
OI |
- |
オブジェクト継承。 |
|
|
ACE はファイルに継承されます。 |
IO |
- |
継承のみ。 |
|
|
ACE は現在のファイル/ディレクトリに適用されません。 |
|
CALL |
バッチ プログラムを別のバッチ プログラムから呼び出します。
CALL [ドライブ:] [パス] ファイル名 [バッチパラメータ]
バッチパラメータ バッチ プログラムで必要なコマンド ライン情報を指定します。
コマンド拡張機能を有効にすると、CALL は次のように変更されます:
CALL コマンドは、CALL のターゲットとしてラベルを受け付けるようになります。
構文は、次のとおりです:
CALL :ラベル 引数
指定された引数で新しいバッチ ファイル コンテキストが作成され、指定
されたラベルの次の分に制御が渡されます。 バッチ スクリプト ファイルの
最後に 2回到達することによって、2回 ”終了” する必要があります。
1回目に最後に到達したときは、制御は CALL 文の次の行に返されます。
2回目に、バッチ スクリプトが終了します。バッチ スクリプトから ”戻る”
ための GOTO :EOF 拡張機能の説明については、GOTO /? と入力してください。
また、バッチ スクリプトの引数参照 (%0、%1 など) の展開は、次のように
変更されました:
%* バッチ スクリプト内では、全ての引数 (%1、%2、%3、%4、%5 など)
を参照します。
バッチ パラメータ (%n)の置換は拡張されました。次のオプション構文
を使う事ができます:
%~1 |
- |
すべての引用句 (")を削除して、
%1 を展開します。 |
%~f1 |
- |
%1 を完全修飾パス名に展開します。 |
%~d1 |
- |
%1 をドライブ文字だけに展開します。 |
%~p1 |
- |
%1 をパスだけに展開します。 |
%~n1 |
- |
%1 をファイル名だけに展開します。 |
%~x1 |
- |
%1 をファイル拡張子だけに展開します。 |
%~s1 |
- |
展開されたパスは、短い名前だけを含みます。 |
%~a1 |
- |
%1 をファイル属性に展開します。 |
%~t1 |
- |
%1 をファイルの日付/時刻に展開します。 |
%~z1 |
- |
%1 をファイルのサイズに展開します。 |
%~$PATH:1 |
- |
PATH 環境変数に指定されているディレクトリを
検索し、最初に見つかった完全修飾名に %1 を
展開します。 環境変数名が定義されていない場合、
または検索してもファイルがみつからなかった
場合は、この修飾子を指定すると空の文字列に
展開されます。 |
修飾子を組み合わせて、複合結果を得ることもできます:
|
%~dp1 |
- |
%1 をドライブ文字とパスだけに展開します。 |
%~nx1 |
- |
%1 をファイル名と拡張子だけに展開します。 |
%~dp$PATH:1 |
- |
PATH 環境変数に指定されているディレクトリを
検索して %1 を探し、最初に見つかったファイル
のドライブ文字とパスだけに展開します。 |
%~ftza1 |
- |
%1 を DIR の出力行のように展開します。 |
上の例の %1 と PATH は、ほかの有効な値で置き換えることができ
ます。%~ 構文は有効な引数の数によって区切られます。 %~ 修飾子
は %* と同時には使用できません。 |
|
CD |
現在のディレクトリを変更したり、ディれkつ折名を変更したりします。
CHDIR [/D] [ドライブ:] [パス]
CHDIR [..]
CD [/D] [ドライブ:] [パス]
CD [..]
.. 親ディレクトリに変更するときに指定します。
CD ドライブ: と入力すると指定されたドライブの現在のディレクトリが表示
されます。 パラメータを指定しないで CD と入力すると、現在のドライブと
ディレクトリが表示されます。
現在のディレクトリだけでなく、現在のドライブも変更するには /D オプション
を使用してください。
コマンド拡張機能を有効にすると、 CHDIR は次のように変更されます:
現在のディレクトリの文字列に入力された大文字と小文字は、ディスク上の名前
と同じになるように変換されます。 たとえば、ディスク上のディレクトリ名が
Temp である場合、 CD C:\TEMP と入力すると、現在のディレクトリは C:\Temp
に設定されます。
CHDIR コマンドは空白を区切り文字として扱わなくなるため、空白文字を
含むサブディレクトリ名を引用符で囲まなくても、そのサブディレクトリ
に CD できるようになります。たとえば、
cd \winnt\profiles\username\programs\start menu
は、次と同じです:
cd "\winnt\profiles\username\programs\start menu"
拡張機能が無効である場合は、こちらを入力します。 |
CHCP |
現在のコード ページ番号を表示または設定します。
CHCP [nnn]
nnn コード ページ番号を指定します。
現在のコード ページ番号を表示するときは、パラメータを指定せずに CHCP と入力して
ください。 |
CHDIR |
現在のディレクトリを変更したり、ディレクトリ名を変更したりします。
CHDIR [/D][ドライブ:][パス]
CHDIR [..]
CD [/D][ドライブ:][パス]
CD [..]
.. 親ディレクトリに変更するときに指定します。
CD ドライブ: と入力すると指定されたドライブの現在のディレクトリが表示
されます。パラメータを指定しないで CD と入力すると、現在のドライブと
ディレクトリが表示されます。
現在のディレクトリだけでなく、現在のドライブも変更するには /D オプション
を使用してください。
コマンド拡張機能を有効にすると、CHDIR は次のように変更されます:
現在のディレクトリの文字列に入力された大文字と小文字は、ディスク上の名前
と同じになるように変換されます。たとえば、ディスク上のディレクトリ名が
Temp である場合、CD C:\TEMP と入力すると、現在のディレクトリは C:\Temp
に設定されます。
CHDIR コマンドは空白を区切り文字として扱わなくなるため、空白文字を
含むサブディレクトリ名を引用符で囲まなくても、そのサブディレクトリ
に CD できるようになります。たとえば、
cd \winnt\profiles\username\programs\start menu
は、次と同じです:
cd "\winnt\profiles\username\programs\start menu"
拡張機能が無効である場合は、こちらを入力します。 |
CHKDSK |
ディスクをチェックし、現在の状態を表示します。
CHKDSK [ボリューム[[パス]ファイル名]]][/F][/V][/R][/X][/I][/C][/L[:サイズ]]
ボリューム |
|
ドライブ文字(文字の後にはコロンを付ける)、マウント
ポイント、ボリューム名を指定します。 |
ファイル名 |
|
FAT/FAT32 のみ: 断片化をチェックするファイルを
指定します。 |
/F |
|
ディスクのエラーを修復します。 |
/V |
|
FAT/FAT32:ディスクの全ファイルの完全なパスと名前を表示しま
す。
NTFS: クリーン アップ メッセージがあればそれも表示します。 |
/R |
|
不良セクタを見つけ、読み取り可能な情報を回復します。
(/F を意味します) |
/L:サイズ |
|
NTFS のみ: ログ ファイル サイズを指定された KB 数に
変更します。サイズが指定されていないときは、現在のサイズ
を表示します。 |
/X |
|
必要であれば、最初にボリュームを強制的にマウントを解除
します。ボリュームへ開かれているすべてのハンドルは、無効
になります。 |
/I |
|
NTFS のみ: インデックス エントリのチェックを抑制して実施
します。 |
/C |
|
NTFS のみ; フォルダ構造内の周期的なチェックをスキップ
します。 |
/I または /C スイッチは、ボリュームのあるチェックをスキップして、Chkdsk
の実行
時間を短くします。 |
CHKNTFS |
CHKNTFS ボリューム [...]
CHKNTFS /D
CHKNTFS /T[:時間]
CHKNTFS /X ボリューム[...]
CHKNTFS /C ボリューム[...]
ボリューム |
ドライブ文字(文字の後にはコロンを付ける)、マウント
ポイント、ボリューム名を指定します。 |
/D |
コンピュータを既定の動作に戻します。
起動時にすべてのドライブを検査し、エラーがあったドライブに
対して CHKDSK を実行します。 |
/T:時間 |
指定された時間を秒に変換して、AUTOCHK を開始するカウント
ダウン時間へ設定します。
時間が指定されていなければ、現在の設定を表示します。 |
/X |
ドライブを既定の起動時の検査から除外します。
除外するドライブは、このコマンドを実行するたびに指定する
必要があります。 |
/C |
ブート時にドライブを検査するようにスケジュールします。
ドライブにエラーがある場合、chkdsk が起動されます。 |
スイッチが指定されていない場合、指定されたドライブにエラーがあるかどうか、
次回の再起動で確認を行うようスケジュールされているかどうかを表示します。 |
CLS |
|
CMD |
Windows XP コマンド インタープリタの新しいインスタンスを開始します。
CMD |
[/A|/U][/Q][/D][/E:ON|/E:OFF][/F:ON|/F:OFF][/V:ON|/V:OFF] |
|
[[/S][/C|/K]文字列] |
/C |
"文字列"に指定されたコマンドを実行した後、終了します。 |
/K |
"文字列"に指定されたコマンドを実行しますが、終了しません。 |
/S |
/C または /K の後の文字列の扱いを変更します(以下の説明を参照してくだ
さい)。 |
/Q |
エコーをオフにします。 |
/D |
レジストリからの AutoRun コマンドの実行を無効にします。
(下記を参照してください)。 |
/A |
内部コマンドの出力結果を ANSI でパイプまたはファイルに出力します。 |
/U |
内部コマンドの出力結果を Unicode でパイプまたはファイルに出力します。 |
/T:fg |
前景色および背景色を設定します(詳細は COLOR /? を参照してください)。 |
/E:ON |
コマンド拡張機能を有効にします(以下の説明を参照してください)。 |
/E:OFF |
コマンド拡張機能を無効にします(以下の説明を参照してください)。 |
/F:ON |
ファイル名およびディレクトリ名補完文字を有効にします
(以下の説明を参照してください)。 |
/F:OFF |
ファイルおよびディレクトリ名補完文字を無効にします
(以下の説明を参照してください)。 |
/V:ON |
区切り文字として!を使って遅延環境変数の展開を有効にします。 |
コマンドセパレータ '&&' で区切られた複数のコマンドが引用符で囲まれている場合
は、"文字列"として指定されます。また互換性の理由から /X と /E:ON、/Y
と
/E:OFF、および /R と /C は同じです。そのほかのスイッチは無視されます。
/C または /K が指定されている場合、スイッチの後の残りのコマンド ラインがコマ
ンド ラインとして処理されます。次のルールが引用符 (") の処理に使われます:
1. |
次のすべての条件に一致する場合、コマンド ラインの引用符が有効になり
ます。
|
|
- /S スイッチがない |
|
- 引用符が1組ある |
|
- 引用符の中に特殊文字がない
(特殊文字は &<>()@^|です) |
|
- 引用符の中に 1 つ以上のスペースがある |
|
- 引用符の中の文字列が、実行可能ファイルの名前である。
|
2. |
最初の文字が引用符であるにも関わらず上の条件に一致しない場合は、最初
の引用符とコマンド ラインの最後の引用符が削除され、最後の引用符のあ
とのテキストが有効になります。 |
コマンド ラインで /D が指定されなかった場合は、CMD.EXE の開始時に次の REG_SZ
または REG_EXPAND_SZ レジストリ変数が検索されます。次のレジストリ変数の両方ま
たはどちらかが存在する場合、それらを最初に実行します。
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
既定では、コマンド拡張機能は有効です。拡張機能を無効にして CMD.EXE を起動する
には、/E:OFF スイッチを使用します。コンピュータまたはユーザー ログオン
セッ
ションで起動される CMD.EXE コマンドすべてに対して拡張機能を有効または無効に
するには、 REGEDIT32.EXE を使ってレジストリにある次の REG_DWORD 値を設定しま
す。
コンピュータに対しては、
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions
に 0x1 を設定すると有効になり、0x0を設定すると無効になります。
ログオン セッションに対しては、
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions
に 0x1 を設定すると有効になり、0x0 を設定すると無効になります。
ユーザー固有の設定は、コンピュータの設定により優先されます。
コマンド ライン スイッチは、レジストリの設定より優先されます。
コマンド拡張機能には、次のコマンドに対する変更または追加が含まれています。
DEL または ERASE |
COLOR |
CD または CHDIR |
MD または MKDIR |
PROMPT |
PUSHD |
POPD |
SET |
SETLOCAL |
ENDLOCAL |
IF |
FOR |
CALL |
SHIFT |
GOTO |
START(外部コマンドの起動の変更を含みます) |
ASSOC |
FTYPE |
詳細は、コマンド名の後に /? と入力すると表示されるヘルプを参照してください。
既定では、遅延環境変数の展開は有効ではありません。遅延環境変数の展開を有効また
は無効にして CMD.EXE を起動するには、/V:ON または /V:OFF スイッチを使います。
コンピュータまたはログオン セッションで起動される CMD.EXE コマンドすべてに対し
て補完を有効または無効にするには、REGEDIT32.EXE を使ってレジストリにある次の
REG_DWORD 値を設定します。
コンピュータに対しては、
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayerExpansion
に 0x1 を設定すると有効になり、0x0 を設定すると無効になります。
ユーザー ログオン セッションに対しては、
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayerdExpansion
に 0x1 を設定すると有効になり、0x0 を設定すると無効になります。
ユーザー固有の設定は、コンピュータの設定より優先されます。
コマンド ライン スイッチは、レジストリの設定より優先されます。
遅延環境変数の展開が有効になっている場合、感嘆符を使うと実行時に環境変数の
値を置き換えることができます。
既定では、ファイルおよびディレクトリ名補完機能は有効ではありません。ファイル
名の補完機能を有効または無効にして CMD.EXE を起動するには、/F:ON または
/F:OFF
スイッチを使います。コンピュータまたはログオン セッションで起動される CMD.EXE
コマンドすべてに対して補完機能を有効または無効にするには、REGEDIT32.EXE
を使っ
てレジストリにある次の REG_DWORD 値を設定します。
コンピュータに対しては、
HKEY_LOCAL_MACHINE\SOftware\Microsoft\Command Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar
に特定の機能に使う 16 進の制御文字を設定します(例 0x4 は Ctrl-D、0x6は
Ctrl-F)。
ユーザー ログオン セッションに対しては、
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar
に特定の機能を使う 16 進の制御文字を設定します(例 0x4 は Ctrl-D、0x6 は
Ctrl-F)。
ユーザー固有の設定は、コンピュータの設定より優先されます。
コマンド ライン スイッチは、レジストリの設定より優先されます。
/F:ON スイッチで補完機能を有効にした場合、2つの制御文字(Ctrl-D はディレクト
リ名補完機能、Ctrl-F はファイル名補完機能)が使用されます。
レジストリで特定の補完文字を無効にするには、制御文字として有効でないスペース
(0x20) の値を使用します。
2つの制御文字のどちらかを入力すると、補完機能が起動されます。パスが存在しな
い場合、プログラムはカーソルの左側のパス文字列にワイルド カード文字を付加し、
一致するパスの一覧を作成します。その後一致する最初のパスを表示します。
パスが一致しない場合、音を鳴らします。同じ制御文字を押し続けると一致するパス
の一覧を順に表示します。Shift キーを押しながら制御文字を押すと一覧を逆回り表
示します。行を編集して制御文字をもう一度押すと、保存されていた一致したパスの
一覧ははきされ、新しい一覧が作成されます。ファイル名補完機能とディレクトリ名
補完機能を切り替えたときも同様です。2つの制御文字の違いは、ディレクトリ補完
文字がディレクトリ名だけを照合するのに対し、ファイル名補完文字はファイルと
ディレクトリ名の両方を照合する点です。ファイル補完機能が内部ディレクトリコマ
ンド (CD、MD または RD)に使用された場合、ディレクトリ補完機能と見なされま
す。
一致するパスの前後に引用符を付けると、保管機能コードでスペースまたは他の特
別な文字を含むファイル名が使用できるようになります。また、行の前に戻って補完
機能を起動した場合、補完機能が呼び出された時点でカーソルの右側にあったテキス
トは破棄されます。
引用符が必要な特別な文字は次の通りです:
|
COLOR |
コンソールの既定の前景色および背景色を設定します。
COLOR[属性]
属性 コンソール出力の色属性を指定します。
色属性は、2桁の16進数で指定します。1桁目は背景に、2桁目
は前景に対応します。各桁には、次のいずれかの値を指定すること
ができます:
0 |
= |
黒 |
8 |
= |
灰色 |
1 |
= |
青 |
9 |
= |
明るい青 |
2 |
= |
緑 |
A |
= |
明るい緑 |
3 |
= |
水色 |
B |
= |
明るい水色 |
4 |
= |
赤 |
C |
= |
明るい赤 |
5 |
= |
紫 |
D |
= |
明るい紫 |
6 |
= |
黄色 |
E |
= |
明るい黄色 |
7 |
= |
白 |
F |
= |
輝く白 |
引数を指定しないでこのコマンドを実行すると、CMD.EXEが起動されたときの
色を復元します。この値は、現在のコンソール ウィンドウ、/T コマンド
ライン スイッチ、またはレジストリのDefaultColor 値から取得されます。
前景と背景に同じ色を指定して COLOR コマンドを実行しようとすると、
COLOR コマンドは、ERRORLEVEL を 1 に設定します。
例: "COLOR fc" は、輝く白の上に明るい赤を表示します。 |
COMP |
2つのファイルまたはファイル セットの内容を比較します。
COMP [データ1][データ2][/D][/A][/L][/N=行数][/C][/OFF[LINE]]
データ1 |
比較する最初のファイルの位置と名前を指定します。 |
データ2 |
比較する2番目のファイルの位置と名前を指定します。 |
/D |
相違点を 10 進数で表示します。 |
/A |
相違点を ASCII文字で表示します。 |
/L |
相違する行の行番号を表示します。 |
/N=行数 |
各ファイルの先頭から指定された行数だけを比較します。 |
/C |
ファイルを比較するときに ASCII 文字の大文字と小文字を区別しま
せん。 |
/OFF[LINE] |
オフライン属性が設定されたファイルをスキップしません。 |
ファイル セットを比較するときは、データ1パラメータとデータ2パラメータで
ワイルド カードを使用します。 |
COMPACT |
NTFS パーティション上のファイルの圧縮状態を表示または変更します。
COMPACT [/C|/U][/S[:ディレクトリ]][/A][/I][/F][/Q][ファイル名[...]]
/C |
指定されたファイルを圧縮します。後で追加されたファイルが
圧縮されるように、ディレクトリはマークされます。 |
/U |
指定されたファイルを圧縮解除します。後で追加されたファイル
が圧縮されないように、ディレクトリはマークされます。 |
/S |
指定されたディレクトリおよびそのサブディレクトリにある
ファイルに、指定された操作を実行します。
"ディレクトリ"の既定値は現在のディレクトリです。 |
/A |
隠しファイルやシステム ファイルも表示します。既定の設定では
これらのファイルは省略されます。 |
/I |
エラーが発生した場合でも、指定された処理を続行します。
既定の設定では、エラーが発生すると COMPACT は停止されます。 |
/F |
圧縮済みのファイルも含めて、指定されたすべてのファイルを
強制圧縮します。既定の設定では圧縮済みのファイルはスキップ
されます。 |
/Q |
重要な情報だけを報告します。 |
ファイル名 |
パターン、ファイル、またはディレクトリを指定します。
|
パラメータを指定せずに COMPACT を実行すると、現在のディレクトリと
ディレクトリに含まれるすべてのファイルの圧縮状態を表示します。
複数のファイル名やワイルド カードを指定できます。複数のパラメータを
指定する場合は、パラメータをスペースで区切ってください。 |
|
CONVERT |
ボリューム |
ドライブ文字(文字の後にはコロンjを付ける)、マウント
ポイント、ボリューム名を指定します。 |
/FS:NTFS |
ボリュームを NTFS に変換することを指定します。 |
/V |
詳細モードで変換することを指定します。 |
/CvtArea:ファイル名 |
|
NTFS システム ファイルのプレースホルダにするルート ディレク
トリの連続ファイルを指定します。 |
/NoSecurity |
変換されたファイルとディレクトリのセキュリティ設定にどの
ユーザーもアクセスが可能になるように指定します。 |
/X |
必要であれば、最初にボリュームを強制的にマウント解除します。
それからボリュームへの開いているハンドルをすべて無効にします。 |
|
COPY |
1つまたは複数のファイルを別の場所にコピーします。
COPY |
[/D][/V][/N][/Y|/-Y][/Z][/A|/B]送り側[/A|/B] |
|
[+送り側[/A|/B][+...]][受け側[/A|/B]] |
送り側 |
コピーするファイル(複数可)を指定します。 |
/A |
ASCII テキスト ファイルとして扱います。 |
/B |
バイナリ ファイルとして扱います。 |
/D |
受け側のファイルが暗号化が解除されて作成されるようにします。 |
受け側 |
新しいファイルのディレクトリまたはファイル名(複数可)を指定し
ます。 |
/V |
新しいファイルが正しく書き込まれたか検査します。 |
/N |
MS-DOS 形式以外の名前のファイルをコピーするときに、利用可能な
らば、短いファイル名を使用します。 |
/Y |
受け側の既存のファイルを上書きする前に確認のメッセージを表示し
ません。 |
/-Y |
受け側の既存のファイルを上書きする前に確認のメッセージを表示し
ます。 |
/Z |
ネットワーク ファイルを再起動可能モードでコピーします。 |
環境変数 COPYCMD でスイッチ /Y が設定されている場合があります。
このスイッチは、コマンド ラインから /-Y が指定されると無効になります。規定
では、COPY コマンドがバッチ スクリプトから実行されていない場合、上書き確認
メッセージが表示されます。
複数のファイルを付加するときは、受け側に1個のファイルを指定し、送り側に
複数のファイルを指定します(ワイルドカードを使うか、ファイル1+ファイル2+
ファイル3 と指定します)。 |
DATE |
日付を表示または設定します。
DATE [/T|日付]
パラメータの指定がない場合は、現在の日付が表示され、新しい日付の入力を
求められます。変更しない場合は、Enter キーを押します。
コマンド拡張機能を有効にすると、DATE コマンドは、/T スイッチを
サポートするようになります。このスイッチを指定すると、現在の日付
だけが表示され、新しい日付を入力するためのプロンプトは表示されません。 |
DEL |
ファイル(複数可)を削除します。
DEL [/P][/F][/S][/Q][/A[[:]属性]]名前
ERASE [/P][/F][/S][/Q][/A[[;]属性]]名前
名前 |
ファイルまたはディレクトリ(複数可)の一覧を指定します。
複数のファイルを削除するときはワイルドカードを使用します。
ディレクトリが指定されたときはディレクトリ内のすべてのファ
イルは削除されます。
|
/P |
各ファイルを削除する前に確認のメッセージを表示します。 |
/F |
読み取り専用ファイルを強制的に削除します。 |
/S |
指定されたファイルをすべてのサブディレクトリから削除します。 |
/Q |
ワイルドカードを使用して一括削除するときに、確認のメッセージ
を表示しません。(QUIET モード) |
/A |
属性により削除するファイルを選択します。 |
属性 |
R |
読み取り専用 |
S |
システム ファイル |
H |
隠しファイル |
A |
アーカイブ |
- |
その属性以外 |
|
|
|
コマンド拡張機能を有効にすると、DEL と ERASE は次のように変更されます:
/S スイッチの表示形式が逆になり、見つからなかったファイルではなく
削除されたファイルだけが表示されるようになります。 |
DIR |
ディレクトリ中のファイルとサブディレクトリ一覧表示します。
DIR [ドライブ:][パス][ファイル名][/A[[:]属性]][/B][/C][/D][/L][/N]
[/O[[:]ソート順]][/P][/Q][/S][/T[[:]タイムフィールド]][/W][/X][/4]
[ドライブ:][パス][ファイル名] |
|
一覧表示するドライブ、ディレクトリ、またはファイルを指定します。
|
/A |
指定された属性のファイルを表示します。 |
属性 |
D |
ディレクトリ |
R |
読み取り専用 |
H |
隠しファイル |
A |
アーカイブ |
S |
システム ファイル |
- |
その属性以外 |
|
/B |
ファイル名のみを表示します(見出しや要約がつきません。 |
/C |
ファイル サイズを桁区切り表示します。これは
既定の設定です。/-C とすると桁区切り表示されません。 |
/D |
/W と同じですが、ファイルを列で並べ替えた一覧を表示します。 |
/L |
小文字で表示します。 |
/N |
ファイル名を右端に表示する一覧形式を使用します。 |
/O |
ファイル名を並べ替えて表示します。 |
ソート順 |
N |
名前順(アルファベット) |
S |
サイズ順(小さいほうから) |
E |
拡張子順(アルファベット) |
D |
日時順(古いほうから) |
G |
グループ(ディレクトリから) |
- |
降順 |
|
/P |
1画面ごとに停止して表示します。 |
/Q |
ファイルの所有者を表示します。 |
/S |
指定されたディレクトリおよびそのサブディレクトリのすべての
ファイルを表示します。 |
/T |
どのタイムフィールドを表示するか、または並べ替えに使用するかを
指定します。 |
タイムフィールド |
C |
作成 |
|
A |
最終アクセス |
|
W |
最終更新 |
|
/W |
ワイド一覧形式で表示します。 |
/X |
このオプションは MS-DOS 形式以外のファイル名に対する短い名前を
表示します。長い名前の前に短い名前を表示する点を除けば、
/N オプションと同じです。短い名前がない場合は、ブランクに
なります。 |
/4 |
4つの数字で年を表示します。 |
環境変数 DIRCMD にスイッチを設定できます。
/-W のように - (ハイフン)を前につけると、そのスイッチは無効になります。 |
DISKCOMP |
2枚のフロッピー ディスクの内容を比較します。
DISKCOMP [ドライブ1: [ドライブ2:]] |
DISKCOPY |
フロッピー ディスクの内容を別のディスクにコピーします。
DISKCOPY [ドライブ1: [ドライブ2:]][/V]
/V 正しくコピーされたかどうか検査します。
同じ種類のフロッピー ディスクを使わなければなりません。
ドライブ1 とドライブ2 には同じドライブを指定することもできます。 |
DOSKEY |
コマンド ラインの編集、Windows XP コマンドの再呼び出し、マクロの作成を行います。
DOSKEY [/REINSTALL][/LISTSIZE=サイズ][/MACROS[:ALL|:実行ファイル名]]
[/HISTORY][/INSERT|/OVERSTRIKE][/EXENAME=実行ファイル名]
]
[/HISTORY][/INSERT|/OVERSTRIKE][/EXENAME=実行ファイル名] |
[/MACROFILE=ファイル名][マクロ名=[テキスト]
|
/REINSTALL |
Doskey の新しいコピーを組み込みます。 |
/LISTSIZE=サイズ |
コマンド履歴バッファのサイズを設定します。 |
/MACROS |
すべての Doskey マクロを表示します。 |
/MACROS:ALL |
Doskey マクロを含むすべての実行可能ファイルの
すべてのDoskey マクロを表示します。 |
/MACROS:実行ファイル名 |
|
|
指定した実行可能ファイルのすべての Doskey マクロを
表示します。 |
/HISTORY |
メモリ内のすべてのコマンドを表示します。 |
/INSERT |
入力したテキストが古いテキストに挿入されるように
指定します。 |
/OVERSTRIKE |
入力したテキストが古いテキストを上書きするように
指定します。 |
/EXENAME=実行ファイル名 |
実行可能ファイルを指定します。 |
/MACROFILE=ファイル名 |
作成するマクロ ファイル名を指定します。 |
マクロ名 |
作成するマクロ名を指定します。 |
テキスト |
登録するコマンドを指定します。 |
上下方向キーはコマンドを再度呼び出します。Esc はコマンド ラインをクリア
します。F7 はコマンド履歴を表示します。Atl+F7 はコマンド履歴をクリアします。
F8 はコマンド履歴を検索します。F9 は数字によるコマンドを選択します。
Alt+F10 はマクロ定義をクリアします。
以下は、DOSKEY のマクロ定義で使用する特殊コードです:
$T |
コマンド セパレータです。マクロ中で複数のコマンドを定義できます。 |
$1-$9 |
バッチ パラメータです。バッチ ファイル中の %1-%9 と同じ意味です。 |
$* |
コマンド ライン上のマクロ名に続くテキストで置き換えられるシンボルです。 |
|
|
|
ECHO |
メッセージを表示したり、コマンド エコーの ON と OFF を切り替えます。
ECHO[ON|OFF]
ECHO[メッセージ]
現在のエコー設定を表示するには、パラメータを指定せずに ECHO と入力して
ください。 |
ENDLOCAL |
バッチ ファイルの環境変更意のローカル化を終了します。
ENDLOCAL を実行した後で変更した環境設定はバッチ ファイル固有の設定で
はありません。バッチ ファイルを終了しても前の設定は復元されません。
ENDLOCAL
コマンド拡張機能を有効にすると、ENDLOCAL は次のように変更されます:
対応する SETLOCAL が新しい ENABLEEXTENSIONS または DISABLEEXTENSIOINS
オプションを使ってコマンド拡張機能を有効または無効にしている場合は、
ENDLOCAL を実行した後、コマンド拡張機能の有効または無効の状態は対応
する SETLOCAL コマンドを実行する前の状態に復元されます。 |
ERASE |
ファイル(複数可)を削除します。
DEL [/P][/F][/S][/Q][/A[[:属性]]名前
ERASE [/P][/F][/S][/Q][/A[[:]属性]]名前
名前 |
|
ファイルまたはディレクトリ(複数可)の一覧を指定します。
複数のファイルを削除するときはワイルドカードを使用します。
ディレクトリが指定されたときはディレクトリ内の全てのファ
イルは削除されます。 |
/P |
|
各ファイルを削除する前に確認のメッセージを表示します。 |
/F |
|
読み取り専用ファイルを強制的に削除します。 |
/S |
|
指定されたファイルをすべてのサブディレクトリから削除します。 |
/Q |
|
ワイルドカードを使用して一括削除するときに、確認のメッセージ
を表示しません。(QUIET モード) |
/A |
|
属性により削除するファイルを選択します。 |
属性 |
|
R |
読み取り専用 |
S |
システム ファイル |
H |
隠しファイル |
A |
アーカイブ |
- |
その属性以外 |
|
|
|
コマンド拡張機能を有効にすると、DEL と ERASE は次のように変更されます:
/S スイッチの表示形式が逆になり、見つからなかったファイルではなく
削除されたファイルだけが表示されるようになります。 |
EXIT |
CMD.EXE プログラム(コマンド インタープリタ)またはバッチ スクリプトを終了
します。
EXIT[/B][終了コード]
/B |
|
CMD.EXE ではなく、現在のバッチ スクリプトを終了するように指定
します。バッチ スクリプトの外から実行された場合、CMD.EXE を終
了させます。 |
終了コード |
|
数値を指定します。/B が指定されている場合、ERRORLEVEL にその
数値を設定します。CMD.EXE 終了をする場合、プロセス終了コードに
その数値を設定します。 |
|
FC |
2つのファイルまたはファイル セットを比較し、相違点を表示します。
FC |
|
[/A][/C][/L][/LBn][/N][/OFF[LINE]][/T][/U][/W][/nnnn]
[ドライブ1:][パス1]ファイル名1[ドライブ2:][パス2]ファイル名2 |
FC |
|
/B [ドライブ1:][パス1]ファイル名1[ドライブ2:][パス2]ファイル名2 |
|
/A |
相違する各部分の1行目と最後の行だけを表示します。 |
|
/B |
バイナリの比較を実行します。 |
|
/C |
英字の大文字と小文字を区別しません。 |
|
/L |
ファイルを ASCII テキストとして比較します。 |
|
/LBn |
連続する最大不一致行を指定行数に設定します。 |
|
/N |
ASCII の比較で行番号を表示します。 |
|
/OFF[LINE] |
オフライン属性が設定されたファイルをスキップしません。 |
|
/T |
タブをスペースに変換しません。 |
|
/U |
Unicode テキスト ファイルとしてファイルを比較します。 |
|
/W |
連続した空白(タブとスペース)を1つのスペースに圧縮して比較
します。 |
|
/nnnn |
不一致発見後に確認する、一致すべき連続行数を指定します。 |
|
[ドライブ1:][パス1]ファイル名1 |
|
|
比較する最初のファイルまたはファイル セットを指定します。 |
|
[ドライブ2:][パス2]ファイル名2 |
|
|
比較する2番目のファイルまたはファイル セットを指定します。 |
|
FIND |
ファイル(複数可)内のテキスト文字列を検索します。
FIND[/V][/C][/N][/I][/OFF[LINE]]"文字列"[[ドライブ:][パス]ファイル名[...]]
|
/V |
指定した文字列を含まない行をすべて表示します。 |
|
/C |
指定した文字列を含む行の数だけ表示します。 |
|
/N |
行番号を表示します。 |
|
/I |
大文字と小文字の区別をしないで検索します。 |
|
/OFF[LINE] |
オフライン属性が設定されたファイルをスキップしません。 |
|
"文字列" |
検索する文字列を指定します。 |
|
[ドライブ:][パス]ファイル名 |
|
|
検索するファイル(複数可)を指定します。 |
パスが指定されていないときは、プロンプトで入力されたテキストまた
は別のコマンドからパイプ処理で渡されたテキストを検索します。 |
FINDSTR |
ファイルから文字列を検索します。
FINDSTR |
[/B][/E][/L][/R][/S][/I][/X][/N][/M][/O][/P][/F:ファイ
ル][/C:文字列][/G:ファイル][/D:ディレクトリ一覧][/A:色属性]
[/OFF[LINE]]文字列[[ドライブ:][パス]ファイル名[ ...]] |
|
/B |
|
行の先頭にあるパターンを検索します。 |
|
/E |
|
行の末尾にあるパターンを検索します。 |
|
/L |
|
検索文字列をリテラルとして使用します。 |
|
/R |
|
検索文字列を正規表現として使用します。 |
|
/S |
|
現在のディレクトリとすべてのサブディレクトリから一致する
ファイルを検索します。 |
|
/I |
|
検索するときに大文字と小文字を区別しません。 |
|
/X |
|
完全に一致する行を出力します。 |
|
/V |
|
一致しない行のみを出力します。 |
|
/N |
|
一致する各行の前に行番号を出力します。 |
|
/M |
|
ファイルに一致する行があるときに、ファイル名のみを出力します。 |
|
/O |
|
一致する各行の前に文字オフセットを出力します。 |
|
/P |
|
印刷不可能な文字を含むファイルをスキップします。 |
|
/OFF[LINE] |
|
オフライン属性が設定されたファイルをスキップしません。 |
|
/A:属性 |
|
2桁の16進数で色属性を指定します。"color /?" を参照してくだ
さい。 |
|
/F:ファイル |
|
指定したファイルからファイル一覧を読み取ります(/ を指定する
とコンソール)。 |
|
/C:文字列 |
|
指定された文字列をリテラル検索文字列として使用します。 |
|
/G:ファイル |
|
指定された文字列から検索文字列を取得します(/ を指定する
とコンソール)。 |
|
/D:ディレクトリ |
|
|
|
セミコロンで区切られた検索されるディレクトリ文字列テキストの
一覧を検索します。 |
|
[ドライブ:][パス]ファイル名 |
|
|
|
検索するファイルを指定します。 |
複数の文字列を検索する場合には、引数 /C を使わず、各文字列をスペースで区切り
ます。
たとえば、FINDSTR "hello there" x.y と指定した場合は、ファイル
x.y で "hello"
または "there" が検索されます。
これに対して、FINDSTR /C:"hellp there" x.y と指定した場合はファイル
x.y で
"hello there" が検索されます。
正規表現クイック リファレンス:
|
. |
|
ワイルドカード:任意の文字 |
|
* |
|
繰り返し:ゼロ個以上の直前の文字またはクラス |
|
^ |
|
行位置:行頭 |
|
$ |
|
行位置:行末 |
|
[class] |
|
文字クラス:セットの任意の1文字 |
|
[^class] |
|
逆クラス:セット以外の任意の1文字 |
|
[x-y] |
|
範囲:指定した範囲の任意の文字 |
|
\x |
|
エスケープ:メタ文字 x のリテラル使用 |
|
\<xyz |
|
単語位置:単語の先頭 |
|
xyz\> |
|
単語位置:単語の終わり |
FINDSTR の詳細な正規表現に関しては、オンライン ヘルプのコマンド リファレンスを
参照してください。 |
FOR |
指定されたコマンドをファイル セットの各ファイルに対して実行します。
FOR %変数 IN(セット)DO コマンド [コマンドパラメータ]
|
%変数 |
|
単一文字の置き換え可能なパラメータを指定します。 |
|
(セット) |
|
ファイル セットを指定します。ワイルドカードを指定できます。 |
|
コマンド |
|
各ファイルごとに実行するコマンドを指定します。 |
|
子万とパラメータ |
|
|
|
指定されたコマンドのパラメータまたはスイッチを指定します。 |
バッチ プログラムで FOR コマンドを使用するときは、%変数の代わりに、
%%変数を使用してください。変数名では大文字と小文字が区別されるため、
%i と %I は異なります。
コマンド拡張機能を有効にすると、次の FOR コマンドの追加形式
がサポートされるようになります:
FOR /D %変数 IN(セット) DO コマンド [コマンドパラメータ]
|
セットがワイルドカードを含む場合は、ファイル名ではなくディレクトリ名
の一致を指定します。 |
FOR /R [[ドライブ:]パス] %変数 IN(セット) DO コマンド [コマンドパラメータ]
|
[ドライブ:]パスから始めて、ツリーの各ディレクトリで FOR 文を実行し
ます。/R の後にディレクトリが指定されていない場合は、現在の
ディレクトリが使用されます。セットが単一のピリオド(.)である場合は、
ディレクトリ ツリーの列挙だけを行います。 |
FOR /L %変数 IN(開始,ステップ,終了) DO コマンド [コマンドパラメータ]
|
セットは、ステップの量ごとに変化する開始から終了までの数列です。
たとえば、(1,1,5)は 1 2 3 4 5, (5,-1,1) は (5 4 3 2 1)という数列に
なります。 |
FOR /F |
|
["オプション"] %変数 IN (ファイル セット) DO コマンド
[コマンド パラメータ] |
FOR /F |
|
["オプション"] %変数 IN ("文字列") DO コマンド[コマンド
パラメータ] |
FOR /F |
|
["オプション"] %変数 IN ('コマンド') DO コマンド[コマンド パラメータ] |
FOR /F |
|
["オプション"] %変数 IN (ファイル セット) DO コマンド
[コマンド パラメータ] |
FOR /F |
|
["オプション"] %変数 IN ("文字列") DO コマンド [コマンド
パラメータ] |
FOR /F |
|
["オプション"] %変数 IN ('コマンド') DOコマンド [コマンド パラメータ] |
|
ファイル名セットは、1つ以上のファイル名です。各ファイルが開かれ、読み
取られ、処理されてから、ファイル名セットの次のファイルに進みます。処理
には、ファイルの読み取り、個々のテキスト行への分割と、0個以上のトークン
への解析が含まれます。その後、変数値を見つかったトークン文字列に設定して、
for ループの本体が呼び出されます。既定では、/F は、各ファイルの各行から、
空白で区切られた最初のトークンを渡します。空白行はスキップされます。既定
の解析動作を変更するには、オプションの "オプション" パラメータを指定しま
す。これは、異なる懐石オプションを指定する1つ以上のキーワードを含む、
引用符で囲まれた文字列です。キーワードは、次のとおりです: |
|
eol=c |
- |
行末のコメント文字を指定します(1文字)。 |
|
skip=n |
- |
ファイルの先頭でスキップする行数を指定します。 |
|
delims=xxx |
- |
区切り文字のセットを指定します。これは、既定の
区切り文字であるスペースとタブを置き換えます。 |
|
tokens=x,y,m-n |
- |
各繰り返しに対して、各行から for 本体に渡すトー
クンを指定します。これにより、追加の変数名が割り当
てられます。m-n の形式は範囲で、m 番目から n 番目の
トークンを指定します。tokens= 文字列の最後の文字が
アスタリスクである場合は、追加の変数が割り当てられ、
最後のトークンが解析された後、行に含まれている残り
のテキストを受け取ります。 |
|
usebackq |
- |
次の新しい表示形式を指定します。逆引用符で囲まれた
文字列がコマンドとして実行され、一重引用符で囲まれた
文字列がリテラル文字列コマンドになりファイル名セット
のファイル名を二重引用符で囲めるようになります。 |
FOR /F "eol=; tokens2,3* delims, " %i in (myfile.txt) do @echo
%i %j %k
|
この例は、myfile.txt の各行を解析します。セミコロンで始まる行を無視し、
各行の2番目と3番目のトークンを for 本体に渡します。トークンは、カンマ
またはスペースで区切られています。for 本体の文が %i で 2番目のトークン
を、%j で 3番目のトークンを取得し、%k で3番目以降のすべてのトークンを
取得していることに注意してください。スペースを含むファイル名に対しては、
二重引用符でファイル名を引用する必要があります。この方法で二重引用符を使う
ためには、usebackq オプションを使わなければなりません。使わなければ、二重
引用符はリテラル文字列の定義として解釈され、解析されます。
%i は for 文で明示的に宣言され、%j と %k は tokens= オプションで暗黙的に
宣言されています。tokens= 行を使って26個までのトークンを指定できますが、
文字 'z' または 'Z' よりも高い変数を宣言することはできません。FOR 変数名は
単一の文字で、大文字と小文字を区別し、グローバルなものであり、一度にアクティ
ブにできるのは合計52個までです。
また、カッコで囲んだファイル名セットを一重引用符で囲み、文字列にすることに
より、即時の文字列に対する FOR /F 解析ロジックを使うこともできます。
これは、ファイルからの単一入力行として処理されます。
最後に、FOR /F コマンドを使って、コマンド出力を解析することができます。
カッコの中のファイル名セットを逆引用符で囲みます。この文字列は、コマンド
ラインとして子 CMD.EXE に渡されます。出力はメモリにキャプチャされ、ファイ
ルのように解析されます。
例:
FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i
この例は、現在の環境の環境変数名を列挙します。
|
また、FOR 変数参照の置換も拡張されました。
次のオプション構文を使う事ができます: |
|
%~I |
|
- |
すべての引用句(")を削除して、I を展開します。 |
%~fI |
|
- |
%I を完全修飾パス名に展開します。 |
%~dI |
|
- |
%I をドライブ文字だけに展開します。 |
%~pI |
|
- |
%I をパス名だけに展開します。 |
%~nI |
|
- |
%I をふぃある名だけに展開します。 |
%~xI |
|
- |
%I をファイル拡張子だけに展開します。 |
%~sI |
|
- |
展開されたパスは短い名前だけを含みます。 |
%~aI |
|
- |
%I をファイルの属性に展開します。 |
%~tI |
|
- |
%I ファイルの日付/時刻に展開します。 |
%~zI |
|
- |
%I ファイルのサイズに展開します。 |
%~$PATH:I |
|
- |
PATH 環境変数に指定されているディレクトリを
検索し、最初に見つかった完全修飾名に %I を
展開します。
環境変数名が定義されていない場合、または検索
してもファイルが見つからなかった場合は、この
修飾子を指定すると空の文字列に展開されます。 |
|
修飾子を組み合わせて、複合結果を得ることもできます:
|
%~dpI |
- |
|
%I をドライブ文字とパスだけに展開します。 |
|
%~nxI |
- |
|
%I をファイル名と拡張子だけに展開します。 |
|
%~fsI |
- |
|
%I を完全なパスと短い名前だけに展開します。 |
|
%~dp$PATH:I |
- |
|
PATH 環境変数に指定されているディレクトリを
検索して %I を探し、最初に見つかったファイル
のドライブ文字とパスだけに展開します。 |
|
%~ftzaI |
- |
|
%I をDIR コマンドの出力行のように展開します。 |
上の例の %I と PATH は、他の有効な値で置き換えることができます。
%~ 構文は、有効な FOR 変数名によって区切られます。%I のような大
文字の変数を使うと読み取りやすく、大文字と小文字を区別しない修飾子
との混乱を避ける事ができます。 |
FORMAT |
FORMAT ボリューム [/FS:ファイルシステム][/V:ラベル][/Q][/A:サイズ][/C][/X]
FORMAT ボリューム [/V:ラベル][/Q][/F:サイズ]
FORMAT ボリューム [/V:ラベル][/Q][/T:トラック数 /N:セクタ数]
FORMAT ボリューム [/V:ラベル][/Q]
FORMAT ボリューム [/Q]
|
ボリューム |
|
ドライブ文字(文字の後にはコロンを付ける)、マウント
ポイント、ボリューム名を指定します。 |
|
/FS:ファイルシステム |
|
|
|
ファイルシステムにはファイルシステムの種類を指定します
(FAT、FAT32、または NTFS)。 |
|
/V:ラベル |
|
ボリューム ラベルを指定します。 |
|
/Q |
|
クイック フォーマットを実行します。 |
|
/C |
|
NTFS のみ: 新しいボリューム上に作成されたファイルは、
既定では、圧縮されます。 |
|
/X |
|
必要であれば、最初にボリュームを強制的にマウントを解除
します。ボリュームへ開かれているすべてのハンドルは、無効
になります。 |
|
/A:サイズ |
|
既定のアロケーション ユニット サイズを無効にします。
一般的には、既定の設定を使用してください。
NTFS は、512、1024、2048、4096、8192、16K、32K、64K を
サポートします。
FAT は、512、1024、2048、4096、8192、16K、32K、64K を
サポートします
(セクタ サイズが 512バイトよりも大きい場合は 128K、256K)。
FAT32 は、512、1024、2048、4096、8192、16K、32K、64K を
サポートします。
(セクタ サイズが 512バイトよりも大きい場合は 128K、256K)。
FAT と FAT32 ファイル システムは、下記のボリュームの
クラスタ数の制限に従います:
FAT: クラスタ数 <= 65526
FAT32: 65526 < クラスタ数 < 4177918
指定されたクラスタ サイズを使用して、上記の要件に一致しない
と判断した場合、フォーマットの処理を直ちに停止します。
NTFS 圧縮は、4096 より大きいアロケーション ユニット サイズ
に対してはサポートされません。 |
|
/F:サイズ |
|
フォーマットするフロッピー ディスクのサイズを指定します(1.44) |
|
/T:トラック数 |
|
ディスクの片面あたりのトラック数を指定します。 |
|
/N:セクタ数 |
|
トラックあたりのセクタ数を指定します。 |
|
FTYPE |
ファイル拡張子の関連付けに使われるファイル タイプを表示または変更します。
FTYPE [ファイルタイプ[=[オープンコマンド文字列]]]
|
ファイルタイプ |
|
表示または変更するファイル タイプを指定します。 |
|
オープンコマンド文字列 |
|
このタイプのファイルを開くために使うコマンドを
指定します。 |
パラメータを指定しないで FTYPE と入力すると、オープン コマンド文字列
が定義されている現在のファイル タイプを表示します。ファイル タイプ
だけを指定して FTYPE を実行すると、そのファイル タイプの現在のオープン
コマンド文字列を表示します。オープン コマンド文字列に何も指定しない
と、そのファイル タイプのオープン コマンド文字列を削除します。
オープン コマンド内の %0 または %1 は、関連付けを使って開かれる
ファイル名で置き換えられます。 %* はすべてのパラメータを取得し、
%2 は第1パラメータ、%3 は第2パラメータを取得します。%~n は、
第nパラメータから最後までのパラメータを取得します。nは、2から9
値です。たとえば、
ASSOC .pl=PerlScript
FTYPE PerlScript=perl.exe %1 %*
と入力すると、次のように Perl スクリプトが起動されます。
script.pl 1 2 3
次のようにすると、拡張子を入力する必要がなくなります。
set PATHEXT=.pl;%PATHEXT%
スクリプトは、次のようにして起動できるようになります。
script 1 2 3 |
GOTO |
バッチ プログラム内の、ラベルで指定されている行へ制御を移動します。
GOTO ラベル
ラベル バッチ プログラムでラベルとして使用するテキスト文字列を指定します。
ラベルの先頭には:(コロン)を指定し、ラベルだけを単独で1行に入力してくだ
さい。
コマンド拡張機能を有効にすると、GOTO は次のように変更されます:
GOTO コマンドにターゲット ラベルとして :EOF を指定し、現在のバッチ
スクリプト ファイルの最後に制御を移すことができるようになります。
ラベルを定義しないでバッチ スクリプト ファイルを終了するには、この方法
が簡単です。この機能を実用化する CALL コマンドの拡張機能の説明について
は、CALL /? と入力してください。 |
GRAFTABL |
Windows がグラフィック モードで拡張文字セットを表示
できるようにします。
GRAFTABL [xxx]
GRAFTABL /STATUS
|
xxx |
|
コード ページ番号を指定します。 |
|
/STATUS |
|
GRAFTABL のために現在選択されているコード ページを表示します。 |
|
HELP |
Windows XP コマンドのヘルプ情報を提供します。
HELP [command]
command - このコマンドのヘルプ情報を表示します。
|
IF |
IF [NOT]ERRORLEVEL 番号 コマンド
IF [NOT]文字列1==文字列2 コマンド
IF [NOT]EXIST ファイル名 コマンド
|
NOT |
|
条件が偽の場合にだけ、Windows XP がコマンドを実行する
ことを指定します。 |
|
ERRORLEVEL |
|
最後のプログラムの実行で指定さrた番号以上の終了コード
が返されたときに、条件が真になるように指定します。 |
|
文字列1==文字列2 |
|
テキスト文字列が一致するときに条件が真になるように指定
します。 |
|
EXIST ファイル名 |
|
指定したファイル名が存在するときに条件が真になるように
指定します。 |
|
コマンド |
|
条件が真のときに実行するコマンドを指定します。コマンドに
続けて、ELSE キーワードの後、指定した条件が偽の場合に
実行される ELSE コマンドを指定することができます。 |
ELSE 節は、IF の後のコマンドと同じ行に置きます。
例:
|
IF EXIST filename.(
del filename.
) ELSE (
echo filename.missing.
)
|
del コマンドは、改行で終了しなければならないため、次の例は、正しく動作し
ません:
|
|
IF EXIST filename. del filename. ELSE echo filename. missing
|
ELSE コマンドは、IF コマンドの終わりと同じ行で始まらなければならないため、
次の例は正しく動作しません。
|
|
IF EXIST filename. del filename.
ELSE echo filename. missing
|
次の例のように、すべてのコマンドを1行にすれば正しく動作します:
|
|
IF EXIST filename. (del filename.) ELSE echo filename. missing
|
コマンド拡張機能を有効にすると、IF は次のように変更されます:
|
|
IF [/I]文字列1比較演算子 文字列2コマンド
IF CMDEXTVERSION 番号 コマンド
IF DEFINED 変数 コマンド
|
比較演算子は、次のいずれかです:
|
|
EQU - 等しい
NTQ - 等しくない
LSS - より小さい
LEQ - 以下
GTR - より大きい
GEQ - 以上
|
/I スイッチを指定すると、文字列は、大文字と小文字を区別せずに比較され
ます。/I スイッチは、IF の 文字列1==文字列2 形式で使うこともできます。
この比較は汎用であり、文字列1 と 文字列2 が両方とも数字だけを含む場合
は、文字列が数値に変換され、数値の比較が行われます。
CMDEXTVERSION 条件は ERRORLEVEL と同様に動作しますが、コマンド拡張機能
に関連付けられている内部バージョン番号との比較を行います。最初のバー
ジョンは1です。コマンド拡張機能に重要な拡張が追加された場合は、値が
1大きくなります。コマンド拡張機能が無効である場合は、CMDEXTVERSION は
条件は常に偽です。
DEFINED 条件は EXISTS と同様に動作しますが、環境変数名を受け取って、環境
変数が定義されている場合は真を返します。
%ERRORLEVEL% は、ERRORLEVEL の現在の値の文字列表記に展開されます。
ただし、ERRORLEVEL という名前の環境変数が既に定義されている場合は、その
環境変数の値が取得されます。プログラム実行後、次の例が ERRORLEVEL の使い方
を説明しています:
|
|
goto answer%ERRORLEVEL%
:answer0
echo Program had return code 0
:answer1
echo Program had return code 1
|
また、上の数値比較を使う事もできます:
|
|
IF %ERRORLEVEL% LEQ 1 goto okay
|
%CMDCMDLINE% は、CMD.EXE が処理する前の、CMD.EXE に渡されたオリジナル
のコマンド ラインに展開されます。ただし、CMDCMDLINE という名前の環境変数
が既に定義されている場合は、その環境変数の値が取得されます。
%CMDEXTVERSION% は、CMDEXTVERSION の現在の値の文字列表記に展開されます。
ただし、CMDEXTVERSION という名前の環境変数が既に定義されている場合は、その
環境変数の値が取得されます。 |
|
LABEL |
ディスクのボリューム ラベルを作成、変更、または削除します。
LABEL [ドライブ:][ラベル]
LABEL [/MP][ボリューム][ラベル]
|
ドライブ: |
|
ドライブのドライブ文字を指定します。 |
|
ラベル |
|
ボリュームのラベルを指定します。 |
|
/MP |
|
マウント ポイントまたはボリューム名として処理される
ボリュームを指定します。 |
|
ボリューム |
|
ドライブ文字(文字の後にはコロンを付ける)、マウント
ポイント、ボリューム名を指定します。師弟されている
場合は、/MP フラグは不要です。 |
|
MD |
ディレクトリを作成します。
MKDIR [ドライブ:]パス
MD [ドライブ:]パス
コマンド拡張機能を有効にすると、MKDIR は次のように変更されます:
MKDIR は、必要に応じてパスの中間ディレクトリを作成します。
たとえば、\a が存在しない場合、
|
mkdir \a\b\c\d
|
は、次と同じです:
|
|
mkdir \a |
|
chdir \a |
|
mkdir b |
|
chdir b |
|
mkdir c |
|
chdir c |
|
mkdir d |
拡張機能が無効な場合は、上のように入力します。 |
MKDIR |
ディレクトリを作成します。
MKDIR [ドライブ:]パス
MD [ドライブ:]パス
コマンド拡張機能を有効にすると、MKDIR は次のように変更されます:
MKDIR は、必要に応じてパスの中間ディレクトリを作成します。
たとえば、\a が存在しない場合、
|
mkdir \a\b\c\d
|
は、次と同じです:
|
|
mkdir \a |
|
chdir \a |
|
mkdir b |
|
chdir b |
|
mkdir c |
|
chdir c |
|
mkdir d |
拡張機能が無効な場合は、上のように入力します。 |
MODE |
システム デバイスを設定します。
シリアル ポート: |
|
MODE [デバイス][/STATUS] |
リダイレクト印刷: |
|
MODE LPTn[:]=COMm[:] |
コード ページ選択: |
|
MODE CON[:] CP SELECT=yyy |
コード ページ状態: |
|
MODE CON[:] CP [/STATUS] |
表示モード: |
|
MODE CON[:] [COLS=c][LINES=n] |
キーボード速度: |
|
MODE CON[:] [RATE=r DELAY=d] |
|
MORE |
出力を一度に1画面ずつ表示します。
MORE [/E [/C][/P][/S][/Tn][+n]] < [ドライブ:][パス]ファイル名
コマンド名 | MORE [/E [/C][/P][/S][/Tn][+n]]
MORE /E [/C][/P][/S][/Tn][+n][ファイル]
|
[ドライブ:][パス]ファイル名 |
|
|
|
一度に1画面ずつ表示するファイルを指定します。 |
|
コマンド名 |
|
|
|
出力を表示するコマンドを指定します。 |
|
/E |
|
拡張機能を有効にします。 |
|
/C |
|
ページを表示する前に画面を消去します。 |
|
/P |
|
フォーム フィード文字を展開します。 |
|
/S |
|
複数の空白行を1行に収縮します。 |
|
/Tn |
|
タブをn個のスペースに置き換えます(既定値は8です)。
スイッチは MORE の環境変数として設定することが可能です。 |
|
+n |
|
最初のファイルをn行目から表示します。 |
|
ファイル |
|
|
|
表示するファイルの一覧を指定します。ファイル名はスペースで
区切ってください。 |
|
拡張機能が利用できる場合、-- More -- プロンプトで以下のコマンドを
使用できます。
|
|
P n |
|
次のn行を表示します。 |
|
S n |
|
次のn行をスキップします。 |
|
F |
|
次のファイルを表示します。 |
|
Q |
|
終了します。 |
|
= |
|
行番号を表示します。 |
|
? |
|
ヘルプを表示します。 |
|
<space |
|
次ページを表示します。 |
|
<ret> |
|
次の行を表示します。 |
|
MOVE |
ファイルを移動およびファイルとディレクトリ名を変更します。
複数のファイルを移動するには:
MOVE [/Y | /-Y][ドライブ:][パス]ファイル名1[,...]受け側
ディレクトリ名を移動するには:
MOVE [/Y | /-Y][ドライブ:][パス]ディレクトリ名1 ディレクトリ名2
|
[ドライブ:][パス]ファイル名1 |
|
|
|
移動するファイルの場所と名前を指定します。 |
|
受け側 |
|
ファイルの新しい場所を指定します。移動先はドライブ
名とコロン、ディレクトリ名、または組み合わせから成ります |
|
[ドライブ:][パス]ディレクトリ名1 |
|
|
|
変更するディレクトリ名を指定します。 |
|
ディレクトリ名2 |
|
新しいディレクトリ名を指定します。 |
|
/Y |
|
移動先の既存のファイルを上書きする前に確認のメッ
セージを表示しません。 |
|
/-Y |
|
移動先の既存のファイルを上書きする前に確認のメッ
セージを表示します。 |
環境変数 COPYCMD にスイッチ /Y を設定できます。これは、コマンド ラインの
/-Y
で無効になります。既定では、COPY コマンドがバッチ スクリプトから実行され
ていない場合、上書きを確認します。 |
PATH |
実行可能ファイルの検索パスを表示または設定します。
PATH [[ドライブ:]パス[;...][;%PATH%]]
PATH ;
パラメータとして;(セミコロン)だけを指定すると、すべての検索パスは
クリアされて現在のディレクトリだけが検索されます。
パラメータの指定がなければ、現在のパスが表示されます。
新しいパス設定に %PATH% を指定すると、前のパスが新しい設定に追加されます。 |
PAUSE |
バッチ プログラムの処理を一時停止し、
"続行するには何かキーを押してください..."
というメッセージを表示します。 |
POPD |
PUSHD コマンドで記憶されたディレクトリに変更します。
POPD
コマンド拡張機能を有効にすると、POPD コマンドは、プッシュされている
ディレクトリ スタックからドライブを POPD するときに、PUSHD が作成した
一時的なドライブ文字を削除します。 |
PRINT |
テキスト ファイルを印刷します。
PRINT [/D:デバイス][[ドライブ:][パス]ファイル名[...]]
/D:デバイス 印刷デバイスを指定します。
|
PROMPT |
cmd.exe のコマンド プロンプトを変更します。
PROMPT [文字列]
文字列 新しいコマンド プロンプトを指定します。
PROMPT には通常の文字と次に示す特殊コードを使用できます:
|
$A |
|
$ (アンパサイド) |
|
$B |
|
| (パイプ) |
|
$C |
|
( (左かっこ) |
|
$D |
|
現在の日付 |
|
$E |
|
エスケープ コード (ASCII コードの 27) |
|
$F |
|
) (右かっこ) |
|
$G |
|
> (不等号 (より大)) |
|
$H |
|
バックスペース (直前の文字を削除します) |
|
$L |
|
< (不等号 (より小)) |
|
$N |
|
現在のドライブ |
|
$P |
|
現在のドライブとパス |
|
$Q |
|
= (等号) |
|
$S |
|
(空白) |
|
$T |
|
現在の時刻 |
|
$V |
|
Windows XP のバージョン番号 |
|
$_ |
|
キャリッジ リターンとラインフィード |
|
$$ |
|
$ (ドル記号) |
コマンド拡張機能を有効にすると、PROMPT コマンドは、次の追加の書式
文字をサポートするようになります:
|
$+ |
|
PUSHD ディレクトリ スタックの深さに応じて、0個以上のプラス
記号 (+) を指定します。1個のプラス記号が、プッシュされた
1レベルを表します。
|
|
$M |
|
現在のドライブ文字に関連付けられているリモート名を表示します。
現在のドライブがネットワーク ドライブでない場合は、空の文字列
を表示します。 |
|
PUSHD |
POPD コマンドで使用するために現在のディレクトリを保存し、
指定されたディレクトリに変更します。
PUSHD [パス | ..]
パス 現在のディレクトリとして設定するディレクトリを指定します。
コマンド拡張機能を有効にすると、PUSHD コマンドは、通常のドライブ文字
とパスだけでなくネットワーク パスも受け付けるようになります。
ネットワーク パスを指定した場合は、PUSHD は指定されたネットワーク
リソースを指し示す一時的なドライブ文字を作成し、新しく定義されたドライブ
文字を使って現在のドライブとディレクトリを変更します。一時的なドライ
ブ文字は、Z: から前へ順に、最初に見つかった未使用のドライブ文字が
割り当てられます。 |
RD |
ディレクトリを削除します。
RMDIR [/S][/Q][ドライブ:]パス
RD [/S][/Q][ドライブ:]パス
|
/S |
指定されたディレクトリに加えて、そのディレクトリ内のすべての
ディレクトリとファイルを削除します。ディレクトリ ツリーを削除
するときに使用します。
|
|
/Q |
/S を使用してディレクトリ ツリーを削除するときに、確認の
メッセージを表示しません。(QUIET モード) |
|
RECOVER |
問題のあるディスクから読み取り可能なデータを回復します。
RECOVER [ドライブ:][パス]ファイル名
RECOVER コマンドを使用する前に、Windows XP オンライン ヘルプのコマンド
リファレンスを参照してください。 |
REM |
バッチ ファイルまたは CONFIG.SYS にコメント (注釈) を記録します。
REM [コメント]
|
REN |
ファイル(複数可)の名前を変更します。
RENAME [ドライブ:][パス]ファイル名1 ファイル名2
REN [ドライブ:][パス]ファイル名1 ファイル名2
ファイル名2 には新しいドライブもパスも指定できないので注意してください。
|
RENAME |
ファイル(複数可)の名前を変更します。
RENAME [ドライブ:][パス]ファイル名1 ファイル名2
REN [ドライブ:][パス]ファイル名1 ファイル名2
ファイル名2 には新しいドライブもパスも指定できないので注意してください。
|
REPLACE |
ファイルを置き換えます(更新)。
REPLACE [ドライブ1:][パス1]ファイル名 [ドライブ2:][パス2] [/A][/P][/R][/W]
REPLACE [ドライブ1:][パス1]ファイル名 [ドライブ2:][パス2] [/P][/R][/S][/W]
|
[/U]
|
|
|
|
[ドライブ1:][パス1]ファイル名 |
|
|
|
置き換える送り側ファイル(複数可)を指定します。 |
|
[ドライブ2:][パス2] |
|
置き換えられるファイルのある受け側のディレクトリを
指定します。 |
|
/A |
|
新しいファイルを受け側のディレクトリに追加します。
/S または /U とは同時に使用できません。 |
|
/P |
|
ファイルの置き換えや追加をする前に確認するための
プロンプトを表示します。 |
|
/R |
|
読み取り専用のファイルも置き換えます。 |
|
/S |
|
受け側ディレクトリのすべてのサブディレクトリの
ファイルを置き換えます。
/A と同時には使用できません。 |
|
/W |
|
始める前にディスクの挿入を待ちます。 |
|
/U |
|
送り側ファイルよりも古いファイルのみを
置き換え(更新)ます。
/A と同時には使用できません。 |
|
RMDIR |
ディレクトリを削除します。
RMDIR [/S][/Q][ドライブ:]パス
RD [/S][/Q][ドライブ:]パス
|
/S |
|
指定されたディレクトリに加えて、そのディレクトリ内のすべての
ディレクトリとファイルを削除します。ディレクトリ ツリーを削除
するときに使用します。
|
|
/Q |
|
/S を指定してディレクトリ ツリーを削除するときに、確認の
メッセージを表示しません。(QUIET モード)
|
|
SET |
cmd.exe 環境変数を表示、設定、または削除します。
SET [変数名=[文字列]]
変数名 環境変数名を指定します。
文字列 変数に割り当てる文字列を指定します。
現在の環境変数を表示するには、パラメータを指定せずに SET と入力してください。
コマンド拡張機能を有効にすると、SET は、次のように変更されます:
等号や値を指定せずに、変数名だけを指定して SET コマンドを実行すると、
SET コマンドに指定された名前に接頭辞が一致するすべての変数の値が
表示されます。たとえば、
SET P
と入力すると、文字 'P' で始まるすべての変数が表示されます。
変数名が現在の環境に見つからない場合は、SET コマンドは、ERRORLEVEL を
1に設定します。
SET コマンドでは、変数の名前に等符号を使用することはできません。
SET コマンドには、2つの新しいスイッチが追加されています:
SET /A 式
SET /P 変数=[プロンプト文字列]
/A スイッチは、等号の右側の文字列が、評価すべき数式であることを
指定します。式の評価はごく単純で、次の操作がサポートされます。
操作は、優先順位の高い順に示されています:
|
() |
|
- |
グループ化 |
|
! ~ _ |
|
- |
単項演算子 |
|
* / % |
|
- |
算術演算子 |
|
+ - |
|
- |
算術演算子 |
|
<< >> |
|
- |
論理シフト |
|
& |
|
- |
ビット演算子 AND |
|
^ |
|
- |
ビット演算子排他的 OR |
|
| |
|
- |
ビット演算子 OR |
|
= *= /= %= += -= |
|
- |
代入 |
|
&= ^= |= <<= >>= |
|
|
|
|
, |
|
- |
式の区切り記号 |
論理演算子またはモジュール演算子を使う場合は、式文字列を引用符で
囲む必要があります。式内の数値以外の文字列は環境変数文字列として
処理され、使用される前に数値に変換されます。指定された環境変数名が
現在の環境で定義されていない場合は、値として0が使用されます。
これにより、いくつもの % 記号を入力して値を取得しないでも、環境
変数の値を算術演算に使うことができます。
コマンド スクリプト外でコマンド ラインから SET /A を実行すると、式の
最終的な値が表示されます。割り当て演算子を使うには、割り当て演算子
の左側に環境変数名が必要です。数値は 10 進数ですが、接頭辞として 0x
を付けると 16 進数、0 を付けると 8 進数になります。従って、0x12 は 18、
あるいは 022 と同じです。8 進表記を使う場合は、注意してください。08 や
09 は、8 と 9 が有効な 8 進数ではないため、有効な数値ではありません。
/P はユーザーによって入力された入力行を変数の値として設定できるようにします。
入力行を読み取る前に、指定されたプロンプト文字列を表示します。プロンプト文
字列は空でもかまいません。
環境変数の置換は、次のように拡張されます:
%PATH:文字列1=文字列2%
は、PATH 環境変数を展開し、その結果に含まれるすべての "文字列1"
を
"文字列2" に置き換えます。"文字列2" に空の文字列を指定すると、展開
された出力からすべての "文字列1" を削除することができます。 "文字列1"
をアスタリスクで始め、展開された出力の先頭から、文字列1 の残りの部分
が最初に現れるまでのすべてを一致させることもできます。
また、展開の副文字列を指定することもできます。
%PATH:~10,5%
は、PATH 環境変数を展開し、展開結果の 11 番目(オフセット 10)の文字
から始まる 5 文字だけを使います。長さが指定されなかった場合は、変数の
値の残りの長さを既定値とします。オフセットまたは長さのどちらかが負の値
の場合、環境変数の値の長さに指定されたオフセットまたは長さを足してその
数を使います。
%PATH:~-10%
は、パス変数の最後の10 文字が展開されます。
%PATH:~0,-2%
は最後の 2 文字以外のすべてが展開されます。
最後に、遅延環境変数の展開が追加されました。このサポートは常に既定で
無効になっていますが、CMD.EXE の /V: のコマンド ライン スイッチを使
って有効または無効にできます。CMD /? を参照してください。
遅延環境変数の展開は、実行時ではなく、テキスト行を読み取るときに展開
されるという現在の制限を避けるために役立ちます。
次の例は即時変数展開の問題を説明しています。
set VAR=before
if "%VAR%" == "before" (
set VAR=after;
if "%VAR%" == "after" @echo If you see this,
it worked
)
この例は、論理的には IF 文が別の IF 文の本体に含まれる複合文なので、
両方の IF 文の %VAR% が、最初の IF 文を読み取ったときに展開されます。
このため、メッセージは決して表示されません。複合文の中の IF では "before"
と "after" が比較され、決して等しくはなりません。同様に次の例も期待し
たようには動作しません。
set LIST=
for %i in (*) do set LIST=%LIST% %i
echo %LIST%
この例では、現在のディレクトリのファイルの一覧は作成されず、代わりに最後
にみつけられたファイルが LIST 変数に設定されます。これは %LIST% が FOR
文
が読み取られるとき、一度だけ展開され、そのときは LIST 変数は、空だからです。
つまり、実際に実行されている FOR ループは
for %i in (*) do set LIST= %i
で、LIST に最後にみつけられたファイルを設定し続けているだけなのです。
遅延環境変数の展開では、実行時に環境変数を展開するために異なった文字
(感嘆符)を使うことができます。遅延環境変数の展開が有効な場合、上記の
例は次のように書くと意図したように動作します。
set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "!VAR!" == "after" @echo If you see this,
it worked
)
set LIST=
for %i in (*) do set LIST=!LIST! %i
echo %LIST%
コマンド拡張機能が有効な場合、SET によって表示される変数の一覧には
現れないいくつかの動的な環境変数があります。これらの変数の値は、変数の
値が展開されるときに動的に計算されます。ユーザーがこれらの名前の変数を
明示的に定義する場合、その定義は下記の動的な定義を無効にします。
%CD% - 現在のディレクトリ文字列に展開します
%DATE% - DATE コマンドと同じフォーマットで現在の日付に展開します。
%TIME% - TIME コマンドと同じフォーマットで現在の時刻に展開します。
%RANDOM% - 0 から 32767 の間の任意の 10 進数に展開します。
%ERRORLEVEL% - 現在の ERRORLEVEL の値に展開します。
%CMDEXTVERSIOIN% - 現在のコマンド プロセッサ拡張機能のバージョン番号に
展開します。
%CMDCMDLINE% - コマンド プロセッサを起動したオリジナル コマンドライン
に展開します。
|
SETLOCAL |
バッチファイルで環境変数のローカライズを開始します。SETLOCAL を実行した後で
変更した環境設定は、そのバッチ ファイルだけで有効です。前の設定を復元するときは
ENDLOCAL を実行しなければなりません。バッチ スクリプトの終わりに達したとき、
暗示的な ENDLOCAL が、そのバッチ スクリプトによって発行されたすべての未完了の
SETLOCAL コマンドのために実行されます。
SETLOCAL
コマンド拡張機能を有効にすると、SETLOCAL は次のように変更されます:
SETLOCAL バッチ コマンドは、オプション引数を受け取ることができます:
|
ENABLEEXTENSIONS / DISABLEEXTENSIONS |
|
|
は、コマンド処理機能を有効または無効にできます。詳細に
ついては、CMD /? を参照してください。 |
|
ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION |
|
|
は、遅延環境変数の展開を有効または無効にできます。詳細
については、CMD /? を参照してください。 |
これらの変更は、SETLOCAL コマンドの実行前の設定にかかわらず、対応する
ENDLOCAL コマンドを実行するまで継続されます。
SETLOCAL コマンドに引数を指定すると、ERRORLEVEL の値が設定されます。
2つの有効な引数が指定された場合は0、そうでない場合は1になります。
この機能をバッチ スクリプトで使って、拡張機能が利用可能かどうかを判断
することができます。それには、次のように入力します:
VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo 拡張機能を有効にできません
この方法が使えるのは、古いバージョンの CMD.EXE では、SETLOCAL は
ERRORLEVEL の値を設定しないためです。VERIFY コマンドに誤った引数を
指定すると、ERRORLEVEL の値は0以外の値に初期化されます。 |
SHIFT |
バッチ ファイル中の置き換え可能なパラメータの位置を変更します。
SHIFT [/n]
コマンド拡張機能を有効にすると、SHIFT コマンドは、/n スイッチをサポート
するようになります。このスイッチを指定すると、コマンドはシフトをn番
目の引数から開始します。nは、0 から 8 までの数です。たとえば、
SHIFT /2
は、%3 を %2に、%4 を %3 にシフトし、%0 と %1 はシフトしません。 |
SORT |
SORT [/R][/+n][/M KB][/L ロケール][/REC レコードバイト]
|
[[ドライブ1:][パス1]ファイル名1][/T [ドライブ2:][パス2]]
[/O [ドライブ3:][パス3]ファイル名3] |
|
/+n |
|
各行の比較を始める文字番号nを指定します。
/+3 は、各行の3番目の文字から比較を始める
ことを意味します。n文字より少ない行は、ほかの
行より前に照合されます。
既定では、比較はそれぞれの行の最初から始め
ます。 |
|
/L[OCALE] ロケール |
|
指定されたロケールでシステム既定のロケールを
上書きします。""C"" ロケールは、最も早い照合
シーケンスに従います。現在指定できるロケール
は ""C"" のみです。並べ替えは、常に大文字と小
文字を区別します。 |
|
/M[EMORY] KB |
|
並べ替えに使うメイン メモリのサイズを KB
で指定します。メモリ サイズは、常に最小
160 KB で制限されます。メモリ サイズが
指定された場合、メイン メモリをどれだけ利用
できるかにかかわらず、指定されたサイズのメモリ
を使用します。
通常は、メモリ サイズを指定していないとき、最高
のパフォーマンスを得られます。既定では、並べ替
えが既定の最大メモリ サイズに格納できる場合は、
(一時ファイルを使わないで)1回のパスで実行
します。そうでない場合は、(一部の並べ替えられ
たデータを一時ファイルに格納して)2回のパス
で実行し、並べ替えと結合パスのためのメモリのサイ
ズを等しくします。入力と出力の両方がファイルの
場合、規定の最大メモリ サイズは利用できるメイン
メモリの 90% になります。そうでない場合は、
メイン メモリの45% になります。 |
|
/REC[ORD_MAXIMUM]文字数 |
|
レコードの最大文字数を指定します。
(既定値 4096、最大値 65535)。 |
|
/R[EVERSE] |
|
並べ替えの順序を降順にします。つまり、Z から A、
9 から 0 の順に並べ替えます。 |
|
[ドライブ1:][パス1]ファイル名1 |
|
|
|
並べ替えられるファイルを指定します。指定されて
いない場合、標準入力を並べ替えます。
入力ファイルを指定する方が同じファイルへの標準
入力をリダイレクトするより速くなります。 |
|
/T[EMPORARY]
[ドライブ2:][パス2] |
|
データをメイン メモリに格納できないときのた
めに、並べ替えのための一時記憶域を保持する
ディレクトリを指定します。既定ではシステムの
一時ディレクトリを使用します。 |
|
/O[UTPUT]
[ドライブ3:][パス3]ファイル名3 |
|
|
|
並べ替えられた入力ファイルが格納されるファイル
を指定します。指定されていない場合、データは
標準出力に書き込まれます。出力ファイルを指定す
る方が同じファイルへの標準出力をリダイレクト
するより早くなります。
|
|
START |
指定されたプログラムまたはコマンドを実行するためにウィンドウを開きます。
START
START |
|
["タイトル"][/Dパス][/I][/MIN][/MAX][/SEPARETE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | / ABOVENORMAL | BELOWNORMAL]
[/WAIT][/B][コマンド/プログラム]
[パラメータ]
|
|
"タイトル" |
|
ウィンドウのタイトル バーに表示するタイトル。 |
|
パス |
|
開始するディレクトリ。 |
|
B |
|
新しいウィンドウを作成せずにアプリケーションを起動します。
アプリケーションは Ctrl+C を無視します。
アプリケーションで Ctrl+C を有効にしていない限り、
Ctrl+Break がアプリケーションを中断する唯一の方法です。 |
|
/I |
|
新しい環境は、現在の環境ではなく、cmd.exe に渡された元の環境に
なります。 |
|
/MIN |
|
ウィンドウを最小化の状態で起動します。 |
|
/MAX |
|
ウィンドウを最大表示の状態で起動します。 |
|
/SEPARATE |
|
16 ビットの Windows プログラムを別メモリ領域で起動します。 |
|
/SHARED |
|
16 ビットの Windows プログラムを共有メモリ空間で起動します。 |
|
/LOW |
|
IDLE 優先度クラスでアプリケーションを起動します。 |
|
/NORMAL |
|
NORMAL 優先度クラスでアプリケーションを起動します。 |
|
/HIGH |
|
HIGH 優先度クラスでアプリケーションを起動します。 |
|
/REALTIME |
|
REALTIME 優先度クラスでアプリケーションを起動します。 |
|
/ABOVENORMAL |
|
|
|
ABOVENORMAL 優先度クラスでアプリケーションを起動します。 |
|
/BELOWNORMAL |
|
|
|
BELOWNORMAL 優先度クラスでアプリケーションを起動します。 |
|
/WAIT |
|
アプリケーションを起動し、終了するまで待ちます。 |
|
コマンド/プログラム |
|
|
|
内部コマンドまたはバッチ ファイルの場合、コマンド プロセッサ
は cmd.exe の /K オプションを使用して実行されます。これは、コ
マンドの実行の後でもウィンドウが残ることを意味します。
内部コマンドまたはバッチ ファイルではない場合、そのプログラム
はウィンドウ モードのアプリケーションまたはコンソール アプリ
ケーションとして動作します。
|
|
パラメータ |
|
コマンド/プログラムに渡すパラメータです。
|
コマンド拡張機能を有効にすると、コマンド ラインまたは START コマンドに
よる外部コマンドの起動は、次のように変更されます:
非実行可能ファイルは、ファイル名をコマンドとして入力することによって
ファイルの関連付けを使って開くことができます(例: WORD.DOC は .DOC
ファイル拡張子に関連付けられているアプリケーションを起動します)。
コマンド スクリプト内でファイルの関連付けを作成する方法については、
ASSOC と FTYPE コマンドを参照してください。
32 ビット GUI アプリケーションを実行する場合、CMD.EXE は、アプリケー
ションの終了を待たずにコマンド プロンプトに戻ります。コマンド スク
リプト内で実行する場合は、この動作は発生しません。
最初のトークンが拡張子やパス修飾子を持たない文字列 "CMD" であるコマンド
ラインを実行する場合、"CMD" が COMSPEC 変数の値で置き換えられます。
これにより現在のディレクトリの CMD.EXE が使われないようにします。
最初のトークンが拡張子を含まないコマンド ラインを実行する場合、CMD.EXE
は、PATHEXT 環境変数の値を使って拡張子の種類と順序を判断します。
PATHEXT 変数の既定値は、次のとおりです:
.COM;.EXE;.BAT;.CMD
この構文は PATH 変数と同じであり、各要素はセミコロンで区切られて
いることに注意してください。
実行可能なファイルを検索するときにどの拡張子でも一致するファイルが見つ
からない場合は、拡張子なしの名前がディレクトリ名と一致するかどうかを調
べます。一致する場合は、START コマンドがそのパスでエクスプローラを起動
します。コマンド ラインから実行した場合は、そのパスに対する CD /D の実
行と同じになります。
|
SUBST |
パスをドライブ名に関連付けます。
SUBST [ドライブ1: [ドライブ2:]パス]
SUBST ドライブ1: /D
|
ドライブ1: |
|
パスを割り当てる仮想ドライブを指定します。 |
|
[ドライブ2:]パス |
|
仮想ドライブに割り当てる物理ドライブとパスを指定します。 |
|
/D |
|
置換した(仮想)ドライブを削除します。 |
現在の仮想ドライブ一覧を表示するときは、パラメータを指定せずに SUBST と入力して
ください。
|
TIME |
システム時刻を表示または設定します。
TIME [/T | 時刻]
パラメータの指定がなければ、現在の設定が表示され、新しい時刻を入力できる
プロンプトになります。変更しない場合は、Enter キーを押してください。
コマンド拡張機能を有効にすると、TIME コマンドは、/T スイッチを
サポートするようになります。このスイッチを指定すると、現在の時刻
だけが表示され、新しい時刻を入力するためのプロンプトは表示されません。
|
TITLE |
コマンド プロンプト ウィンドウのウィンドウ タイトルを設定します。
TITLE [文字列]
文字列 コマンド プロンプト ウィンドウのタイトルを指定します。
|
TREE |
ドライブやパスのフォルダ構造を図式表示します。
TREE [ドライブ:][パス][/F][/A]
/F 各フォルダのファイル名を表示します。
/A 拡張文字ではなく、ASCII 文字で表示します。
|
TYPE |
テキスト ファイルまたはファイルの内容を表示します。
TYPE [ドライブ:][パス]ファイル名 |
VER |
Windows XP のバージョンを表示します。
VER
|
VERIFY |
ファイルがディスクに正しく書き込まれたことを照合するかどうかを
cmd.exe に指示します。
VERIFY [ON | OFF]
現在の設定を表示するときは、パラメータを指定せずに VERIFY と入力してください。
|
VOL |
ディスクのボリューム ラベルとシリアル番号を表示します。
VOL [ドライブ:]
|
XCOPY |
ファイルとディレクトリ ツリーをコピーします。
XCOPY 送り側 [受け側] |
[/A | /M][/D[:日付]][/P][/S [/E]][/V][/W]
[/C][/I][/Q][/F][/L][/G][/H][/R][/T][/U]
[/K][/N][/O][/X][/Y][/-Y][/Z]
[/EXCLUDE:ファイル1[+ファイル2][+ファイル3]...] |
|
送り側 |
|
コピーするファイル(複数可)を指定します。 |
|
受け側 |
|
新しいファイルの位置や名前を指定します。 |
|
/A |
|
アーカイブ属性のファイルのみをコピーし、属性は変更しません。 |
|
/M |
|
アーカイブ属性のファイルのみをコピーし、アーカイブ属性を解除
します。 |
|
/D:月-日-年 |
|
指定された日付以降に変更されたファイルをコピーします。
日付が指定されなかったときは、送り側の日付が受け側の日付より
新しいファイルだけをコピーします。 |
|
/EXCLUDE:ファイル1[+ファイル2][+ファイル3]... |
|
|
|
文字列を含むファイルの一覧を指定します。各文字列はファイルの
中で別の行でなければなりません。
文字列がコピーされるファイルの絶対パスの一部と一致した場合、
そのファイルはコピーから除外されます。たとえば、\obj\ を指
定するとディレクトリ obj の下のファイルはすべて除外されます。
.obj という文字列を指定すると .obj という拡張子のファイルは
すべて除外されます。 |
|
/P |
|
受け側のファイルを作成する前に確認のメッセージを表示します。 |
|
/S |
|
空の場合を除いて、ディレクトリとサブディレクトリをコピーします。 |
|
/E |
|
ディレクトリまたはサブディレクトリが空であってもコピーします。 |
|
/V |
|
書き込んだ各ファイルを検証します。 |
|
/W |
|
キー入力があるまでコピー開始を待ちます。 |
|
/C |
|
エラーが発生してもコピーを続けます。 |
|
/I |
|
受け側がなく複数のファイルをコピーする場合、受け側をディレク
トリとしてコピーします。 |
|
/Q |
|
コピー中ファイル名を表示しません。 |
|
/F |
|
コピー中送り側と受け側の全ファイル名を表示します。 |
|
/L |
|
コピーされるファイル名を表示します。 |
|
/G |
|
暗号化をサポートしない受け側に、暗号化されたファイルをコピーす
ることを許可します。 |
|
/H |
|
隠しファイルやシステム ファイルもコピーします。 |
|
/R |
|
読み取り専用ファイルを上書きします。 |
|
/T |
|
ファイルはコピーせずにディレクトリのみを作成します。ディレク
トリまたはサブディレクトリが空の場合は除きます。/E と使用すれ
ばディレクトリやサブディレクトリが空でも作成されます。 |
|
/U |
|
受け側に既に存在するファイルだけをコピーします。 |
|
/K |
|
属性をコピーします。通常の XCOPY は読み取り専用属性を変更し
ます。 |
|
/N |
|
生成された短い名前を使用してコピーします。 |
|
/O |
|
ファイルの所有権と ACL 情報をコピーします。 |
|
/X |
|
ファイルの監査設定をコピーします(/O を含む)。 |
|
/Y |
|
受け側の既存のファイルを上書きする前に確認のメッセージを表示
しません。 |
|
/-Y |
|
受け側の既存のファイルを上書きする前に確認のメッセージを表示
します。 |
|
/Z |
|
再起動可能モードでネットワーク ファイルをコピーします。 |
環境変数 COPYCMD にスイッチ /Y を設定できます。
これは、コマンド ラインの /-Y で無効になります。 |