Windows对路径的限制为260个字符。我已经吹过了它,而且它正在加剧。我想找一些方法绕过这一点。
到目前为止,我已经写在PowerShell中的脚本,将得到我的PATH变量,分析它,然后设置与Windows shortpath内的所有字符串表示的路径的想法。
这是我到目前为止有:
Function Get-ShortName
{
BEGIN { $fso = New-Object -ComObject Scripting.FileSystemObject }
PROCESS
{
If ($_.psiscontainer)
{$fso.getfolder($_.fullname).ShortName}
ELSE
{$fso.getfile($_.fullname).ShortName}
}
}
function Get-ShortPath {
begin { $fso = New-Object -ComObject Scripting.FileSystemObject }
process {
if ($_.psiscontainer)
{$fso.getfolder($_.fullname).shortpath}
else
{$fso.getfile($_.fullname).shortpath}
}
}
我是一个总的初学者到PowerShell的,现在我难倒如何解析分号分隔列表$ ENV:路径收益和转那成为我可以传递给我的Get-ShortPath函数的东西。有什么建议么?
这是不正确的,因为路径环境变量被限制为260个字符(见[什么是一个环境变量的最大长度?](http://blogs.msdn.com/b/oldnewthing/archive/2010/02 /03/9957320.aspx))。 – 2015-04-04 16:52:56
嗯。我正在安装CMake,安装程序向我抱怨说它无法将自己添加到我的路径中。其他程序也抱怨说,他们无法附加到我的用户路径。当我查找原因时,他们都指出我的PATH环境变量太长。你是否知道这可能会发生其他原因? – krapht 2015-04-05 00:46:20
首先搜索确切的错误消息总是有帮助的。 – 2015-04-05 13:05:57