コマンドプロンプト
その他の名前 | Windows コマンド プロセッサ |
---|---|
開発者 | Microsoft、IBM、ReactOS 貢献者 |
初回リリース | 1987年12月 |
オペレーティング·システム |
|
プラットフォーム | IA-32、x86-64、ARM(歴史的にはDEC Alpha、MIPS、PowerPC、Itanium) |
前任者 | コマンド.COM |
タイプ | コマンドラインインタープリター |
コマンド プロンプト( cmd.exeまたはcmdとも呼ばれる) は、OS/2 [1]、eComStation、ArcaOS、Microsoft Windows ( Windows NT ファミリおよびWindows CE ファミリ)、およびReactOS [2]オペレーティング システムの既定のコマンド ライン インタープリタです。 Windows CE .NET 4.2 [3]、Windows CE 5.0 [4]およびWindows Embedded CE 6.0 [5]では、コマンド プロセッサ シェルと呼ばれます。 実装はオペレーティング システムによって異なりますが、動作と基本的なコマンド セットは一貫しています。cmd.exeは、 DOSおよびWindows 9xシステムのCOMMAND.COMに相当し、Unix 系システムで使用されるUnix シェルに類似しています。 Windows NT用のcmd.exeの最初のバージョンは、 Therese Stowell によって開発されました。[6] Windows CE 2.11 は、コンソールとcmd.exeの Windows CE バージョンをサポートした最初の組み込み Windows リリースでした。[7] ReactOSのcmd.exeの実装は、 FreeDOSのコマンドラインインタープリタであるFreeCOMから派生したものです。 [2]
手術
cmd.exe は、コマンドライン インターフェイスを通じてユーザーと対話します。Windows では、このインターフェイスはWin32 コンソールを通じて実装されます。cmd.exeは、そのプラットフォームのネイティブ プログラムで利用可能な機能を利用する場合があります。たとえば、OS/2 および Windows では、コマンド パイプラインで実際のパイプを使用できるため、パイプラインの両側を同時に実行できます。その結果、標準エラー ストリームをリダイレクトできます。( COMMAND.COM は一時ファイルを使用し、両側を順番にシリアルに実行します。)
コマンドセパレータ&&を使用すると、1つのコマンドラインで複数のコマンドを処理できます。[8]
Windows cmd.exeでこのセパレーターを使用する場合、次のコマンドを実行するには各コマンドが正常に完了する必要があります。例:
C:\>コマンドA &&コマンドB &&コマンドC
[9]
上記の例では、CommandBはCommandAが正常に完了した場合にのみ実行され、CommandCの実行はCommandBが正常に完了することに依存します。前のコマンドでエラーが発生した場合でも後続のコマンドを処理するには、コマンド区切り文字&を使用する必要があります。[10] たとえば、次のようになります。
C:\>コマンド A &コマンド B &コマンド C
Windows XP以降では、コマンドプロンプトで使用できる文字列の最大長は8191(2 13 -1)文字です。Windows 2000やWindows NT 4.0などの以前のバージョンでは、文字列の最大長は2047(2 11 -1)文字です。この制限には、コマンドライン、他のプロセスに継承される個々の環境変数、およびすべての環境変数の展開が含まれます。[11]
以下の特殊文字には引用符が必要です: [8]
& < > [ ] { } ^ = ; ! ' + 、 ' ~
そして空白。
内部コマンド
OS/2
以下はMicrosoft OS/2の内部 cmd.exeコマンドの一覧です: [12]
Windows NT ファミリー
Windows NT以降のcmd.exeでは以下の内部コマンドがサポートされています: [13]
ウィンドウズ
以下のコマンドリストは、Windows CE .NET 4.2、[14] Windows CE 5.0 [15]およびWindows Embedded CE 6.0のcmd.exeでサポートされています。 [16]
さらに、netコマンドは、\Windows\net.exeに保存された外部コマンドとして使用できます。
リアクトOS
ReactOSの実装には以下の内部コマンドが含まれています: [2]
COMMAND.COMとの比較
Windows では、cmd.exe はCOMMAND.COMとほぼ互換性がありますが、次の拡張機能を提供します。
- COMMAND.COMの包括的な「コマンドまたはファイル名が間違っています」(コマンドが不正な場合)よりも詳細なエラー メッセージです。OS/2 では、エラーはシステムで選択された言語で報告され、そのテキストはシステム メッセージ ファイルから取得されます。その後、エラー メッセージ番号を指定してHELPコマンドを発行すると、詳細情報を取得できます。
- 矢印キーを使用してコマンド履歴をスクロールすることをサポートします。(DOS では、この機能はDR DOS ( HISTORY経由) でのみ使用でき、その後はDOSKEYと呼ばれる外部コンポーネント経由で使用できるようになりました。)
- ファイルとフォルダーのパスの回転するコマンドライン補完を追加します。ユーザーはTab ↹、, と+を使用してプレフィックスの結果を循環的に選択し、逆方向に移動できます。⇧ ShiftTab ↹
- キャレット文字 ( ^ ) をエスケープ文字として扱います。キャレット文字に続く文字は文字どおりに解釈されます。cmd.exeおよびCOMMAND.COMには、コマンド ライン プロセッサの動作を変更するための特殊文字があります。キャレット文字は、コマンド ライン プロセッサに文字どおりに解釈するように強制します。
- による遅延変数拡張をサポートし
SETLOCAL EnableDelayedExpansion
、実行前にスクリプトを解析する代わりに実行時に変数の値を計算できるようにし(Windows 2000以降)、制御構造の使用を困難かつ複雑にするDOSの慣用句を修正しました。[17]拡張機能を無効にして、より厳密な互換モードを提供することもできます。
内部コマンドも改善されました:
- DELTREEコマンドは、 /Sスイッチの一部としてRDコマンドに統合されました。
- SetLocalコマンドとEndLocalコマンドは環境の変更範囲を制限します。SetLocalコマンドの後にコマンドライン環境に加えられた変更はバッチファイルに対してローカルです。EndLocalコマンドは以前の設定を復元します。[18]
- Callコマンドを使用すると、バッチ ファイル内でサブルーチンを使用できます。COMMAND.COMのCallコマンドは、外部バッチ ファイルの呼び出しのみをサポートします。
- Setコマンドのファイル名パーサー拡張はC シェルに匹敵します。[さらに説明が必要]
- Setコマンドは式の評価を実行できます。
- Forコマンドの拡張により、ファイル名に加えて、ファイルと任意のセットの解析がサポートされます。
- 新しいPushDコマンドとPopDコマンドは、Web ブラウザーやファイル エクスプローラーの「進む」ボタンと「戻る」ボタンと同様に、ナビゲートしたパスを遡ってアクセスできるようにします。
- 条件付きIFコマンドは、大文字と小文字を区別する文字列比較に加えて、大文字と小文字を区別しない比較や数値の等価および不等価の比較を実行できます。(これは DR-DOS では使用できましたが、 PC DOSまたはMS-DOSでは使用できませんでした。)
参照
参考文献
- ^ 「デフォルトの OS/2 コマンド プロセッサ (CMD.EXE) の使用に関する注意事項」。www.tavi.co.uk。
- ^ abc “reactos/reactos”. GitHub . 2021年12月4日.
- ^ 「コマンド プロセッサ シェル (Windows CE .NET 4.2)」。Microsoft Docs 2006 年 6 月 30 日。2022 年 8 月 31 日時点のオリジナルよりアーカイブ。
- ^ 「コマンド プロセッサ シェル (Windows CE 5.0)」。Microsoft Docs 2012 年 9 月 14 日。2022 年 8 月 28 日時点のオリジナルよりアーカイブ。
- ^ 「コマンド プロセッサ シェル (Windows Embedded CE 6.0)」。Microsoft Docs。2012 年。2022 年 9 月 5 日時点のオリジナルよりアーカイブ。
- ^ ザカリー、G. パスカル (1994)。『ショーストッパー! マイクロソフトにおける Windows NT と次世代の開発をめぐる猛烈な競争』。フリープレス。ISBN 0-02-935671-7。
- ^ Douglas McConnaughey Boling (2001)。 『プログラミングMicrosoft Windows CE (第 2 版)』。Microsoft Press。ISBN 978-0735614437。
- ^ ab "cmd". Microsoft Learn . 2023年9月12日. 2023年11月21日時点のオリジナルよりアーカイブ。
- ^ [アンバラ「これは皆にとって良いことだ」]。
{{cite web}}
:値を確認する|url=
(ヘルプ)CS1 メンテナンス: url-status (リンク) - ^ 「コマンドリダイレクト、パイプ - Windows CMD - SS64.com」。ss64.com 。2021年9月23日閲覧。
- ^ コマンドプロンプト (Cmd.exe) のコマンドライン文字列の制限
- ^ Microsoft オペレーティングシステム/2 ユーザーズリファレンス(PDF) . Microsoft . 1987.
- ^ Hill, Tim (1998). Windows NT シェルスクリプト. Macmillan Technical Publishing . ISBN 978-1578700479。
- ^ 「コマンド プロセッサ コマンド (Windows CE .NET 4.2)」。Microsoft Docs 2006 年 6 月 30 日。2022 年 8 月 31 日時点のオリジナルよりアーカイブ。
- ^ 「コマンド プロセッサ コマンド (Windows CE 5.0)」。Microsoft Docs 2012 年 9 月 14 日。2022 年 8 月 31 日時点のオリジナルよりアーカイブ。
- ^ 「コマンド プロセッサ コマンド (Windows Embedded CE 6.0)」。Microsoft Docs 2012 年 1 月 5 日。2022 年 9 月 6 日時点のオリジナルよりアーカイブ。
- ^ 「Windows 2000 の環境変数の拡張が遅れる」。Windows IT Pro。2015年 7 月 13 日時点のオリジナルよりアーカイブ。2015 年7 月 13 日閲覧。
- ^ 「Setlocal」。TechNet。Microsoft。2009年 9 月 11 日。2015年1月13 日閲覧。
さらに読む
- デビッド・モスコウィッツ;デビッド・カー (1994)。OS/2 2.11 Unleashed (第 2 版)。サムズ出版。ISBN 978-0672304453。
- Stanek, William R. (2008)。Windowsコマンドライン管理者のポケット コンサルタント(第 2 版) 。Microsoft Press。ISBN 978-0735622623。
外部リンク
- 「コマンドラインリファレンスAZ」。Microsoft 2023年4月26日。
- 「Cmd」。Microsoft Windows XP 製品ドキュメント。Microsoft。2011年 9 月 2 日のオリジナルからアーカイブ。2006 年5 月 24日取得。
- 「コマンド プロンプト: よく寄せられる質問」。Windowsヘルプ。Microsoft。2015年 4 月 22 日のオリジナルからアーカイブ。2015 年4 月 20 日取得。
- 「Windows CMD コマンド ラインの A ~ Z インデックス」。SS64.com。
- 「Windows CMD.com – Windows コマンドのハブ」。windowscmd.com。2022年1月11日時点のオリジナルよりアーカイブ。2022年1月4日閲覧。
- Windows で最も重要な CMD コマンド - colorconsole.de