コマンド プロンプト (cmd.exe) のコマンドライン文字列の制限

Windows XP のサポートは終了しました

マイクロソフトでは、2014 年 4 月 8 日に Windows XP のサポートを終了しました。この変更は、ソフトウェアの更新プログラムおよびセキュリティ オプションに影響しています。 この変更の意味および保護された状態を維持する方法について説明します。

Windows Server 2003 のサポートは 2015 年 7 月 14 日で終了しています

Windows Server 2003 のサポートは 2015 年 7 月 14 日で終了しています。この変更は、ソフトウェアの更新プログラムおよびセキュリティ オプションに影響します。 この変更の意味および保護された状態を維持する方法について説明します。

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:830473
概要
この資料では、コマンド プロンプト (Cmd.exe) と、この制限を回避するために使用できる方法でコマンド プロンプトで使用する文字列の長さに制限について説明します。
詳細
Microsoft Windows XP 以降の Windows を実行しているコンピューターでは、コマンド プロンプトで使用できる文字列の最大長は 8191 文字です。Microsoft Windows 2000 または Windows NT 4.0 を実行するコンピューターでは、コマンド プロンプトで使用できる文字列の最大長は、2047年文字です。

この制限は、コマンドライン、他のプロセス、およびすべての環境変数の展開によって継承される個々 の環境変数 (PATH 変数など) に適用されます。バッチ ファイルを実行するコマンド プロンプトを使用する場合、この制限はバッチ ファイルの処理にも適用されます。

次の一覧では、コマンド プロンプトで実行するコマンドとコマンドをバッチ ファイルで使用するのにこの制限を適用する方法のいくつかの例を示します。
  • コマンド プロンプトで、コマンド プロンプトを使用しています行の長さの合計は、either2047 または 8191 文字を (オペレーティング システムに該当する場合) より多くのことはできません。
    cmd.exe/k 実行.exe パラメーター 1, パラメーター 2 ... parameterN
  • バッチ ファイルでは、バッチ ファイルで使用する次のコマンドラインの長さの合計としてオペレーティング システムに該当する場合) か、複数の 2047 or8191 の文字を含めることはできません。
    cmd.exe/k 実行.exe パラメーター 1, パラメーター 2 ... parameterN
    この制限に適用されますコマンド ・ ラインを自動的にバッチ ファイルで、バッチファイルを実行するコマンド プロンプトを使用する場合。
  • コマンド プロンプトで、全体の長さEnvironmentVariable1 展開します。EnvironmentVariable2EnvironmentVariable3 either2047 以上または 8191 文字を (オペレーティング システムに該当する場合) を含めることはできません。
    c: > 設定 EnvironmentVariable1=EnvironmentVariable2EnvironmentVariable3
  • バッチ ファイルでは、した後、次のコマンドラインの長さの合計は、(に使用しているオペレーティング システムに応じて) 2047年または 8191 のいずれかの文字よりも多くのコマンド ・ ラインの cannotcontain で環境変数を展開します。
    実行.exe パラメーター 1パラメーター 2
  • でも Win32 制限環境 variablesis 32,767 の文字のコマンド プロンプトを無視してすべての環境変数、親プロセスとは、独自の制限 ofeither 2047 または 8191 文字を (オペレーティング システムに該当する場合) よりも長いから、その継承しません。詳細については、 SetEnvironmentVariable 機能は、次のマイクロソフト Web サイトを参照してください。

制限を回避する方法

制限を回避するには、(に、状況に応じて) 次の方法の 1 つ以上を使用します。
  • あること、パラメーター情報を含むファイルを使用するために長いコマンドラインを必要とするプログラムを変更し、コマンド ・ ラインで、ファイルの名前を含めます。

    使用してではなく、 実行.exe パラメーター 1 パラメーター 2 ...ParameterN バッチ ファイル、コマンド ・ ラインは次のコマンドラインは、次のようなコマンドラインを使用するプログラムを変更します。パラメーター ファイル requiredparameters (を含むファイルは、します。パラメーター 1 パラメーター 2...ParameterN):
    実行.exe c:\temp\パラメーター ファイル.txt
  • 2047 または 8191 文字を (オペレーティング システムに該当する場合) よりも小さい環境変数が含まれている大規模な環境変数のように使用するプログラムを変更します。

    たとえば、PATHenvironment 変数には、以上のいずれかの 2047年が含まれているまたは 8191 文字 (使用するオペレーティング システムの asappropriate)、次のひょうじの 1 つ以上を使用する場合は、文字の数を減らします。
    • フォルダーとファイルの短い名前を使用します。
    • フォルダー ツリーの階層を浅きます。
    • PATH 環境変数に以下のフォルダーが使用されるように、以下のフォルダーにファイルを保存します。
    • .Dll ファイルを検索するためのパスへの依存を減らすために使用することができる方法を検討してください。
cmd cmd.exe コマンド プロンプト] 2048年 2047年 2046年の 8192 8191 環境変数パス コマンド ・ ライン

警告: この記事は自動翻訳されています

プロパティ

文書番号:830473 - 最終更新日: 10/11/2015 07:53:00 - リビジョン: 4.0

Windows Server 2012 R2 Standard, Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Essentials, Windows Server 2012 R2 Foundation, Windows Server 2012 Standard, Windows Server 2012 Datacenter, Windows Server 2012 Essentials, Windows Server 2012 Foundation, Windows Server 2008 R2 Service Pack 1, Windows Server 2008 R2 Standard, Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Foundation, Windows Server 2008 Service Pack 2, Windows Server 2008 Standard, Windows Server 2008 Datacenter, Windows Server 2008 Foundation, Microsoft Windows Server 2003, Datacenter Edition (32-bit x86), Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft Windows Server 2003, Standard Edition (32-bit x86), Microsoft Windows Server 2003, Web Edition, Windows 8.1 RTM, Windows 8.1 Pro, Windows 8.1 Enterprise, Windows 7 Professional, Windows 7 Enterprise, Windows 7 Home Premium, Microsoft Windows XP Home Edition, Microsoft Windows XP Professional, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Professional, Microsoft Windows 2000 Server, Microsoft Windows NT Server 4.0 Standard Edition, Microsoft Windows NT Workstation 4.0 Developer Edition

  • kbinfo kbmt KB830473 KbMtja
フィードバック