警告: 正保存的数据被裁断到 1024 字符。 错误: 拒绝访问注册表路径。
我们常常为了一些软件启动的方便,将一些软件的文件夹指定到系统的环境变量中,这样就不需要到指定软件的bin目录,运行目录下启动(类似于java,python,node等命令),直接win+r、或者cmd直接就可以启动,但是随着一个个目录的添加导致系统的环境变量超出了1024b,这时系统就会发出警告。
警告: 正保存的数据被裁断到 1024 字符。 错误: 拒绝访问注册表路径。
其实,这个问题很好解决。
首先,你要区分环境变量:
系统环境变量:包含系统启动,运行的一些变量(安装完系统就有的),此外,用户(管理员权限)可以继续添加环境变量,这些变量为所有用户共享。
注册表路径:\hkey_local_machine\system\currentcontrolset\control\session manager\environment
用户环境变量:允许每个用户在系统环境的变量基础上指定自己想要定义的变量,和系统变量相同,但是这些变量只专属于创建此变量的用户,其他用户无法登录。
注册表路径:\hkey_current_user\environment
例子:
系统有张三、李四两个用户都具有管理员权限,他俩都想在登陆系统后cmd下直接使用java命令,此时只要其中一个用户登陆系统后,配置好了java的环境变量,那么他们两个在登录后都可以使用。
如果张三说只想自己在cmd下使用java,不想让李四使用,那么只需要将java路径配置到自己的目录下。(其实电脑已经安装java,如果李四登录后想使用,那么他必须自己再次配置java的路径,或者直接定位到java的安装目录后使用)
当然,如果你是管理员你可以只接设置每个用户的环境变量,而不用登录用户。
比如:张三(管理员)在设置完自己的环境变量后想设置李四的环境变量,只需要打开注册表[ hkey_users\指定用户的sid\ environment]下选择李四的用户就可以,但是前提是要知道李四用户的sid.
有了上面的理解之后我们就有了对应的解决方法:
1.建立一个文件夹d:\path (文件名随便)
2.将这个路径添加到系统环境变量中,或者用户变量中自己选择。
3.将一些常用的软件的快捷方式添加进去(这是我自己的习惯),比如:qq,wechat等等,如果感觉桌面快捷方式多,直接塞进这里,顺便改个自己记得住的文件名,这样可以加快开机后加载桌面的速度,只有你打开d:\path文件夹,或者系统空闲时时才会刷新其中的图标。
这时你要是想启动qq就直接win+r输入qq就好,或者cmd后执行start qq
注意:比如你想将word,excel等放在d:\path\office中,用上面的方式是无法加载的,你必须要将d:\path\office加入环境变量中才可以。
4.然后就是一些自己想要的软件了,建立d:\path\mysoftware,并添加到环境变量中。
比如我我直接添加abd文件目录(d:\program files (x86)\adb)到环境变量的话系统会报错:
这时,你只需要将adb下的文件,直接放到d:\path\mysoftware中,就可以直接在cmd中运行。其他bat脚本,vb脚本啥的都可以。
通过这种操作方式后,如果你的电脑要重新安装,你只需要备份d:\path文件,在重装完系统后,再将这个文件复制到d盘下,然后设置系统环境变量,如果是快捷方式的话要求你安装的软件路径,同重装之前的相同,然后就可以向以前一样了。
其实这种方法的原理就是想已经添加在系统环境变量中的路径下添加自己的软件,比如你直接塞在%systemroot\system32%(c:\windowssystem32)也一样
如果你不想用这种方法,还是想直接往系统环境变量中添加,有如下方法:
1.将不用的路径从系统环境变量中移除
2.缩短文件的路径,比如之前java在d:\program files\java\java8.1中,那你就应该改安装路径尽可能的短比如:d:\java8.1
3.直接编辑注册表,但如果超出限制,一样会警告。
4.使用批处理脚本在每次启动前将自己需要的系统变量设置好。
版权 作者:feiquan 出处:http://www.cnblogs.com/feiquan/ 版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 大家写文都不容易,请尊重劳动成果~ 这里谢谢大家啦(*/ω\*)
上一篇: React组件的state和setState的区别在哪
下一篇: Spring.net的一些感悟