症状回放:

最近安装一个Delphi的控件,结果,在安装之后启动Delphi时出现了找不到相关文件的错误。一开始以为是Delphi内的Library路径没有添加,查看,一切正常。再次启动Delphi,提示说将xxx路径插入到PATH环境变量中失败,原因是PATH变量超出长度限制。
查找根源:
根据Delphi的提示,打开环境变量设置窗口,发现PATH变量确实不短(安装了很多开发工具,很多都需要设置环境变量),由于那个控件存在独立运行环境,需要写入系统PATH环境变量。但偏偏这个控件的名字又长的要命。先前有同学告诉我,PATH太长可以使用别名来解决,即创建其它名称的环境变量,并在PATH中使用两个“%”来引用,于是将一部分PATH路径拿出来,新建了一个环境变量并在PATH中引用。
再启动Delphi,咦?另一个文件又找不到了。反复检查发现,刚刚建立的环境变量已经起作用,但另外的路径又丢失了。于是打开CMD控制台,输入PATH,才发现,PATH变量的值已经被截断,原来那个使用别名的方法只是治标不治本。单条PATH变量可以插入了,变量值的长度限制还是存在。难道,非要我把每个程序都安装到短文件路径中?
偏方医治:
当我无奈中想到重装程序到短文件路径时,突然拉亮了另一盏灯。对,DOS8.3格式的短文件名!(哈哈,当时我叫出来的第一句就是,你太有才了…)。所谓DOS8.3格式短文件名就是文件或目录名分8字节主文件名和一个点加3字节的扩展名,在非DOS时代的系统,虽然文件名可以超出这个限制,但仍然可以使用该规则来操作文件名,即使用我们经常见到的“~n”方式。
那么,既然很多文件夹名称都那样的长(比如MS SQLSERVER的Microsoft SQL Server文件夹),那使用DOS8.3格式的短文件名来压缩路径,不就可以起到缩短PATH路径的作用了?
但是,我们又如何获取一个文件或目录的短文件名呢?其实系统已经给我们提供了这个工具,很简单,在CMD控制台中运行 dir /n /x,那么当前目录下的文件名就以长/短两种方式显示出来,接下来就不用我说了吧…
后记:
现在需要PATH环境变量的程序越来越多,PATH的空间也越来越小,真不知道此问题要何时才能解决。刚刚我在Microsoft的网站上找到了一个关于PATH长度限制补丁的说明,但由于整篇指东言西的描述让人匪夷所思,大概是有一个可以把PATH扩展到2046字节的补丁已经发出来,可是始终没找到下载地址。本文叙述的方法也仅仅是治标不治本,但在不限制长度PATH环境变量出现之前,其不失为一种这种方法。

环境变量PATH超长问题[转]的更多相关文章

  1. 配置JDK时环境变量path和JAVA_HOME的作用

    1.PATH环境变量.作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序.需要把jdk安装目录下的bin目录增 ...

  2. Linux系统下修改环境变量PATH路径的三种方法

    这里介绍Linux的知识,比如把/etc/apache/bin目录添加到PATH中有三种方法,看完之后你将学会Linux系统下如何修改环境变量PATH路径,需要的朋友可以参考下 电脑中必不可少的就是操 ...

  3. Linux 环境变量 $PATH

    我们知道查阅文件属性的指令 ls 完整文件名为:/bin/ls(这是绝对路径),那为什么可以在任何地方执行/bin/ls 这个指令呢?  为什么在任何目录下输入 ls 就一定可以显示出一些讯息而不会说 ...

  4. win7 64位系统装oracle11 提示环境变量path 值超过1023字符

    win7 64位系统装oracle10 提示环境变量path 值超过1023字符 1.提示环境变量path 值超过1023字符. 方案: 1.oracle安装文件,右键属性--设置兼容性--兼容XP ...

  5. Java环境变量PATH和CLASSPATH

    Java开发中常用到环境变量的配置,下面简单介绍下Java中经常配置的环境变量:PATH和CLASSPATH. 1.PATH环境变量 1.1 作用简介 安装完JDK(Java Development ...

  6. 转载:(Mac)在bash和zsh配置环境变量path的几种方法

    参考文献 老习惯,列出本文参考或引用或转载的文档和博客,致以崇高的敬意,感兴趣的可以去看看 1.http://postgresapp.com/ 2.http://postgresapp.com/doc ...

  7. 安装oracle环境变量path的值大于1023的解决办法

    介绍解决安装oracle安装问题 方法/步骤     安装oracle 10g时遇到环境变量path的值超过1023字符,无法设置该值,如图: ‍ 安装oracle 10g时遇到环境变量path的值超 ...

  8. Ubuntu Linux 环境变量PATH设置

    前俩天编译linux下rar解压软件的时候说找不到  /usr/local/linux 路径,在设定path变量的时候,忽然就想看看,path最原始的变量值是多少....(在环境变量文件中保存.... ...

  9. Linux中的环境变量PATH

    一.介绍 在讲环境变量之前,先介绍一下命令which,它用于查找某个命令的绝对路径,示例如下: 在上面的示例中,用which查到rm命令的绝对路径为/usr/bin/rm. 那么问题来了:为什么我们使 ...

随机推荐

  1. windos下安装mongodb

    一.下载 1. www.mongodb.com/download-center#community2.根据电脑系统下载对应的版本,3.选择zip(解压版本)/msi安装版本4.本文是用的msi(安装版 ...

  2. 爬虫之re块解析

    一.re 这个去匹配比较麻烦,以后也比较少用,简单看一个案例就行 ''' 爬取数据流程: 1.指定url 2.发起请求 3.获取页面数据 4.数据解析 5.持久化存储 ''' import reque ...

  3. 授权过期后AJAX操作跳转到登录页的一种全局处理方式

    前两天园友JustRun分享了一篇 <菜鸟程序员之Asp.net MVC Session过期异常的处理>博文,正好自己前段时间被安排处理过这个问题,发现JustRun的方法有一点点可优化的 ...

  4. 二维vector容器读取txt坐标

    template <class vector> struct HeadLocation{ vector x; vector y; }; vector<HeadLocation< ...

  5. oracle 备份恢复篇(六)---基于12c的pdb备份与恢复

    一,备份前提描述 SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL> archive log ...

  6. Oracle 更改归档文件到ASM磁盘

    01,配置磁盘路径

  7. (转)Shell全局变量、局部变量与特殊变量笔记总结

    Shell全局变量.局部变量与特殊变量笔记总结 原文:http://blog.csdn.net/apollon_krj/article/details/70148022 变量类型:全局变量(环境变量) ...

  8. 解决 command not found: express

    需要先执行 sudo npm install -g express-generator 再安装 sudo npm install -g express 建立项目骨架 express -e   xxx

  9. 部署项目到远程tomcat的413 Request Entity Too Large报错处理

    当项目jar包过多时,部署项目会报错而错误原因很清楚了,文件太大了. 因为用了nginx代理,而nginx默认文件大小有限,所以需要设置nginx上传文件大小限制 client_max_body_si ...

  10. vue2.0 饿了么项目学习总结

    最近在GitHub上发现一个基于vue2.0的饿了么项目.本着互联网的分享精神,现在将我自己所理解的,所总结的经验分享给大家.本篇文字我将从学习的角度向大家分享. 在学习本项目之前我已经将vue2.0 ...