英特尔和 PATH

Max*_*ffe 5 path windows-10

我在 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 工具吗?

最后,最安全的实验方法是什么?

pba*_*ney 1

官方来说,Intel 已声明 PATH 条目必须保持完整,但没有具体说明原因。我们可以猜测原因,但这可能是一个准确的说法。

如果您的 PATH 条目空间不足(由于默认最大大小为 1920 字节),有两种可能的修复方法:

修复 #1:将长路径名替换为 8dot3“短名称”。

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?

修复 #2:用较短的环境变量替换重复的目录名称

很多时候,路径会包含常见的目录名称。例如,以下是您问题中的路径:

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 用户注意事项:

这不适用于大多数用户。

默认情况下,仅在 Windows 10 中的主 C: 驱动器上启用 8dot3 文件名创建。如果需要在其他驱动器上启用它,可以通过在提升的命令提示符中运行以下命令来实现:

fsutil 8dot3name set D: 0
Run Code Online (Sandbox Code Playgroud)

进行此更改后,您需要重新启动!

该行开启为驱动器 D: 上的所有文件创建 8dot3 名称。这不会返回并为现有文件添加8dot3 文件名,因此您需要运行另一个命令来实际为您需要访问的路径和/或文件创建 8dot3 名称。

您需要深入研究fsutil file setshortname将 8dor3 名称添加到您需要的文件夹中。