Windows XP 环境变量

Windows XP 环境变量

我认为我的环境变量中的 PATH 工作不正常,想问几个有关环境变量的常见问题。

  1. 用户变量和系统变量有什么区别?什么时候应该使用?如果用户和系统变量都使用同一个变量怎么办?这无所谓,因为系统变量涵盖了所有用户?

  2. 我正在尝试使用快捷方式使我的 PATH 更简洁。例如,我已将我的 设置JAVA_HOMEC:\Program Files\Java\jdk1.6.0_25\bin,然后PATH设置为。但是,当我在 cmd 中%JAVA_HOME%\bin输入 时,它仍然显示。我应该担心它不是 吗?"echo %PATH%"%JAVA_HOME%\bin"C:\Program Files\Java\jdk1.6.0_25\bin"

  3. 如果我想检查我的路径中是否存在 xml,我该如何验证?

  4. 因为有些程序不喜欢环境变量中有空格,所以建议使用 C:\Progra~1\ 而不是 C:\Program Files\ ,如下所示:http://ist.berkeley.edu/as-ag/technology/howto/install-java-sdk-win.html执行此操作的程序是什么?我在哪里开始中断并添加 ~1。它总是 1 吗?

谢谢你!

答案1

  1. 当用户登录系统时,用户路径和系统路径会合并在一起。如果没有用户登录,%PATH% 变量将仅反映系统路径。

    • 用户变量是根据每个用户配置的,并且仅在特定用户登录时生效。

    • 系统变量适用于系统上的所有用户。各种 Windows 目录和 Java 子系统,以及其他适用于所有用户的目录均被设置为系统路径的一部分。

  2. 您不应该这样做,因为并非所有程序都支持它。只需指定大多数程序期望的完整路径,就可以了。

  3. %PATH% 变量中不应有 XML,因为XML 中广泛使用的<和字符是无效的目录变量。>

  4. 一些旧的 DOS 程序可能会遇到此问题,但自 Windows XP 以来,我从未遇到过路径元素中存在空格的问题。只需确保您指定的每个包含目录名称空格的路径都括在引号中即可。您引用的推荐此做法的文档似乎已经过时,因为它讨论了 Java v1.5(Java v1.6 已经推出多年,许多人预计 Java v1.7 很快就会发布)。

    • 名称并不总是缩短为 8.3,并以 ~1 后缀结束文件名部分。例如,在 64 位 Windows 上,您可以在 DOS 提示符下键入“Dir C:\PRO*”,您将看到至少两个条目(通常“PROGRA~1”表示“Program Files”,“PROGRA~2”表示“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 命令,用于在文件夹外运行可执行文件和命令。虽然如果你想要命令行访问,它不是很有用,但可以尝试查看以下工具一切这可以使文件非常容易获取!

4.我真正能做的就是重复@Randolf Richardson 的回答... 6 个字符 + ~1(每个文件夹增加一个)并尝试将带有空格的名称放在引号中。

相关内容