我在 Windows 10 64 位系统上遇到了 PATH 大小问题。英特尔(当然)是主要贡献者:
C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS 客户端\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT; C:\Program Files\Intel\WiFi\bin\; C:\Program Files\Common Files\Intel\WirelessCommon\
这些中的任何一个都可以删除吗?
我可以关闭 Program Files (x86) 中的 32 位变体并让系统找到 C:\Program Files 工具吗?
最后,最安全的实验方法是什么?
官方来说,Intel 已声明 PATH 条目必须保持完整,但没有具体说明原因。我们可以猜测原因,但这可能是一个准确的说法。
如果您的 PATH 条目空间不足(由于默认最大大小为 1920 字节),有两种可能的修复方法:
8dot3 文件名是对 DOS 早期版本的回溯,当时文件名只能包含八个字符和三个字符的扩展名(例如 filename.bat)。它为长文件名创建一个“隐藏”目录条目。例如,C:\Program Files也可以通过访问 来访问C:\Progra~1。
这允许您使用较短的 8dot3 名称而不是长路径名来引用文件路径。这会变成这样:
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL
进入:
C:\PROGRA~2\Intel\INTEL(~1\DAL\
这项技术将我的路径减少了 190 个字符。
请参阅下面针对 Windows 10 用户的说明。
感谢Sspoke,这里有一个很好的方法:How can I find the Short Path of a Windows directory/file?
很多时候,路径会包含常见的目录名称。例如,以下是您问题中的路径:
C:\Program Files (x86)\Intel\iCLS Client\
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT
C:\Program Files\Intel\WiFi\bin\
C:\Program Files\Intel\iCLS Client\
C:\Program Files\Intel\Intel(R) Management Engine Components\DAL
C:\Program Files\Intel\Intel(R) Management Engine Components\IPT
C:\Program Files\Common Files\Intel\WirelessCommon\
Run Code Online (Sandbox Code Playgroud)
我们可以看到有重复的文件夹。通过创建一个新的、更短的环境变量来表示每个文件夹,我们可以使用以下命令显着缩短它:
setx x86 "C:\Program Files (x86)" /M
setx x64 "C:\Program Files" /M
setx intel86 "C:\Program Files (x86)\Intel" /M
setx intel64 "C:\Program Files\Intel" /M
setx intelmec86 "C:\Program Files (x86)\Intel\Intel(R) Management Engine Components" /M
setx intelmec64 "C:\Program Files\Intel\Intel(R) Management Engine Components" /M
Run Code Online (Sandbox Code Playgroud)
我们将每个路径条目更改为以下内容:
%intel86%\iCLS Client\
%intelmec86%\DAL
%intelmec86%\IPT
%intel64%\WiFi\bin\
%intel64%\iCLS Client\
%intelmec64%\DAL
%intelmec64%\IPT
%x64%\Common Files\Intel\WirelessCommon\
Run Code Online (Sandbox Code Playgroud)
443 字节到 181 字节,节省了 262 字节。
您可能会发现,当您收到系统或应用程序更新时,原始的较长路径将与 8dot3 版本一起添加回来。这是因为更新无法识别其较短版本并将其添加回来。您需要注意这一点并在必要时进行手动清理。
这不适用于大多数用户。
默认情况下,仅在 Windows 10 中的主 C: 驱动器上启用 8dot3 文件名创建。如果需要在其他驱动器上启用它,可以通过在提升的命令提示符中运行以下命令来实现:
fsutil 8dot3name set D: 0
Run Code Online (Sandbox Code Playgroud)
进行此更改后,您需要重新启动!
该行开启为驱动器 D: 上的所有新文件创建 8dot3 名称。这不会返回并为现有文件添加8dot3 文件名,因此您需要运行另一个命令来实际为您需要访问的路径和/或文件创建 8dot3 名称。
您需要深入研究fsutil file setshortname将 8dor3 名称添加到您需要的文件夹中。