Windows XP環境変数


2

環境変数のPATHが適切に機能していないと思うので、一般的な環境変数についていくつか質問をしたいと思います。

  1. ユーザー変数とシステム変数の違いは何ですか?いつ使うべきですか?つまり、ユーザーとシステムの両方に同じ変数がある場合はどうなりますか?システム変数にはすべてのユーザーが含まれるため、問題ではありませんか?

  2. ショートカットを使用してPATHをクリーンにしようとしています。例えば、私は私を設定しているJAVA_HOMEC:\Program Files\Java\jdk1.6.0_25\bin、その後PATH%JAVA_HOME%\bin。ただし、"echo %PATH%"cmd を入力すると、まだ表示されます%JAVA_HOME%\bin。そうではないことを心配する必要があり"C:\Program Files\Java\jdk1.6.0_25\bin"ますか?

  3. パスにxmlが存在するかどうかを確認したい場合、これをどのように検証しますか?

  4. 一部のプログラムは環境変数のスペースを好まないため、ここに示すように、C:\ Program Files \ではなくC:\ Progra〜1 \を使用することをお勧めします。http//ist.berkeley.edu/as-ag/ technology / howto / install-java-sdk-win.htmlこれを行う手順は何ですか?どこで休憩を開始し、〜1を追加しますか。常に1ですか?

ありがとうございました!

回答:


2
  1. ユーザーがシステムにログインすると、ユーザーとシステムのパスが結合されます。ログインしているユーザーがいない場合、%PATH%変数はシステムパスのみを反映します。

    • ユーザー変数はユーザーごとに構成され、特定のユーザーがログインしたときにのみ有効になります。

    • システム変数は、システム上のすべてのユーザーに適用されます。さまざまなWindowsディレクトリとJavaサブシステム、およびすべてのユーザーに適用する必要があるその他のサブシステムは、システムパスの一部として設定されます。

  2. すべてのプログラムでサポートされているとは限らないため、これを行うべきではありません。ほとんどのプログラムが期待するとおりにフルパスを指定するだけで、問題ありません。

  3. XMLで広く使用されている<and >文字は無効なディレクトリ変数であるため、%PATH%変数にはXMLを含めないでください。

  4. 一部の古いDOSプログラムではこれに問題が発生する可能性がありますが、Windows XP以降、パス要素のスペースに関する問題は発生していません。ディレクトリ名にスペースを含む指定するすべてのパスが引用符で囲まれていることを確認してください。このプラクティスを推奨しているあなたが参照したドキュメントは、Java v1.5について説明しているため古くなっているようです(Java v1.6は長年にわたって利用可能で、Java v1.7はすぐにリリースされると予想されています)。

    • 名前は、ファイル名部分を終了する〜1のサフィックスを使用して、常に8.3に短縮されるとは限りません。たとえば、64ビットWindowsでは、DOSプロンプトで「Dir C:\ PRO *」と入力すると、少なくとも2つのエントリが表示されます(通常、「Program Files」と「PROGRA〜2」は「PROGRA〜1」 「Program Files(x86)」の場合)。

2
  1. ユーザー変数は、ユーザーの実行中に存在し、ユーザーのコンテキストで実行されるプロセスのみがアクセスできます。一方、システム変数には、すべてのユーザーが誰でもアクセスできます。

  2. (最初に書いたとき、私は100%確信していませんでしたが、あなたのためにこれをテストし、この答えをやり直しました!)変数は、呼び出されたときにアクセスされます。次のテストを実行しました。

    set testing=c:\test
    set path=%testing%
    path
    -----result-----
    > PATH=c:\test
    

また、という環境変数を作成してtesting、パスをに設定することで、手順を再作成しました%testing%。私は再びコマンドプロンプトに行き、パスを入力したとき、私は同じを得た

    PATH=c:\test

したがって、これはうまく機能するようです。さらに調査すると、これはマイクロソフトや他のベンダーが行っているようです- %systemroot%その変数が他の場所で定義されているパスで定義されている多くのケースがあります。

3。簡単な方法はありません。Pathは古いDOSコマンドであり、フォルダー外で実行可能ファイルとコマンドを実行するために存在します。コマンドラインアクセスが必要な場合はあまり役に立ちませんが、ファイルを簡単に取得できるEverythingなどのツールを試してみてください。

4.本当にできるのは、@ Randolf Richardsonの答えを繰り返します... 6文字+ ~1(フォルダーごとに1つずつ増加)と、スペースを含む名前を引用符で囲みます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.