環境変数PATHのパスの過剰な量を減らすことができます。バックアップとして行全体をメモ帳に保存し、一部を削除してテストします。
それらのほとんどはそこにあるので、ショートカットに「ターゲット」のフルパスが設定されていない場合、「開始」がショートカットで正しく設定されていない場合、またはプログラムとその部品が常に奇妙に起動されている場合見つかりました。ほとんどの状況でフェイルセーフです。パスを削除したプログラムの使用を完全にテストする必要があります。
また、CMDプロンプトにコマンドを入力する人にとって非常に便利です。CDがなくても、その名前のプログラムが検出されて実行されるまで、コンピューターは各場所をスキャンします。または同じ名前の他のコマンド:-)
パスのセットは255(または260)文字未満に制限されていましたが、かなり前に1024に変更され、2048年を処理するためにserver'03時代にパッチバックされ、おそらくいくつかのシステムで8096を処理できましたずっと前に。
人々が遭遇する今日発見された本当の制限は、変数とパスの展開を含むコマンド文字列の長さに制限があるCMDpromptにあります。
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682653(v=vs.85).aspx Microsoftによると:
「ユーザー定義の環境変数の最大サイズは32,767文字です。環境ブロックのサイズに技術的な制限はありません。ただし、ブロックへのアクセスに使用されるメカニズムに応じて実際的な制限があります。たとえば、バッチファイルコマンドラインの最大長より長い変数を設定することはできません。」
その場所では、システムパスを含むレジストリの場所を指しますHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
。そこで残りの部分を読み取る必要があります。
CMDpromptとバッチの制限は、一度展開すると2048文字であり、新しいシステムの4倍と言われています(人々がそれを見ないので引用が必要です)
古いシステムのコマンドプロンプトとバッチの長さについては、http://support.microsoft.com/kb/830473も参照してください。
そこでエントリが正しいことを確認するために、wikiには次のように書かれています:http :
//en.wikipedia.org/wiki/Environment_variable
%PATH%この変数には、コマンドインタープリターが特定のコマンドに一致する実行可能ファイルを検索するディレクトリのセミコロン区切り(間にスペースを入れない)リストが含まれます。パスを表す環境変数は、PATH変数内にネストできますが、間接レベルは1レベルのみです。このサブパス環境変数自体にパスを表す環境変数が含まれている場合、PATHは変数置換で適切に展開されません。
そこにすべての余分なパスがあると、特定の事柄がかなり遅くなります。それは、あきらめる前にそれらのすべての場所を調べることを余儀なくされるからです。バッチ処理やCMDpromptを使用する場合でも、ファイルアイテムを呼び出すときは常にフルパスを使用する方が常に高速です。
古いDOSlike 8.3規則を使用することは、サイズを縮小する1つの方法 です。このバッチ/programming//a/20362922はうまく機能します。(もう一度)元の文字列をバックアップしてください。その質問の他の可能な解決策も参照してください。
これが私の見た目です、もっと悪いです。
%SystemRoot%\ system32;%SystemRoot%;%SystemRoot%\ System32 \ Wbem;%SYSTEMROOT%\ System32 \ WindowsPowerShell \ v1.0 \; C:\ Program Files(x86)\ QuickTime \ QTSystem \
私はクイックタイムをハートビートで投げます、そしてAMDプログラムは以前に拡張パスを入れて、それを投げました、Adobeeは1つを持っていました、これらのどれも標準のGUIショートカット/アイコン方法には関係ありませんでした。多くのものを削除してから、すべての機能をテストできます。CMDプロンプトに入力して呼び出した場合、それらのパスを削除することはできません。
PATH
...それが長すぎると疑う理由は何ですか?VSは何らかのエラーを投げていますか?また、どのバージョンのWindowsを実行していますか?