• win环境变量path因第三方软件导致不一致的问题分析


    win环境变量因第三方软件导致path不一致的问题分析

    win系统中,(以win10为例),path环境变量起到了非常重要的作用,配置不当,会导致在命令行中出现“不是内部命令or外部命令”的提示。
    win10中path值有两个:一个是系统变量path和用户变量path,下面我们通过几个途径查看path的值,结果如下:

    通常情况下, 当一个用户登陆系统后: path是该用户自己的用户变量path和系统变量path的并集。

    方式1

    当该用户通过win+R,输入命令cmd的方式进入系统自带的命令行环境中后,输入
    echo %PATH%
    ,此时输出的path的值也是用户变量path和系统变量path的并集,并且系统变量位置在前,用户变量位置在后。

    方式2

    当该用户通过win+R,输入命令cmder的方式进入第三方命令行软件cmder中后,输入
    echo %PATH%
    ,此时输出的path的值中,除了用户变量path和系统变量path之外,还有cmder软件添加的path内容(顺序:cmder自身的,系统的,用户的):

    //cmder添加的行
    D:cmderin;  
    D:cmdervendorconemu-maximus5ConEmuScripts;  
    D:cmdervendorconemu-maximus5;    
    D:cmdervendorconemu-maximus5ConEmu;     
    
    系统变量path
    
    用户变量path
    

    备注:path里面cmder自身的变量所在顺序是由cmder定义的,但是系统变量和用户变量两者之前的顺序基本上不能更改。

    方式3

    当该用户通过AHK软件配置的快捷键(2017.5.15日编译好的AhkScriptManager.exe文件),启动第三方命令行软件cmder后,输入
    echo %PATH%
    ,此时输出的path的值中,除了用户变量path和系统变量path之外,还有cmder软件添加的path内容,最后还有AHK自己添加的path:

    //cmder添加的行
    D:cmderin;  
    D:cmdervendorconemu-maximus5ConEmuScripts;  
    D:cmdervendorconemu-maximus5;    
    D:cmdervendorconemu-maximus5ConEmu; 
    
    //AHK添加的行
    D:AhkScriptManager3rd; 
    
    //丢失了部分近期安装的软件的路径
    系统变量path
    
    用户变量path
    

    备注:我使用的AhkScriptManager是基于github上的开源项目https://github.com/morgengc/AhkScriptManager
    但是在今天(2017.11.18日文件)通过AHK提供的快捷键进入cmder后,运行python的时候发现,找不到python命令,所以才有了这篇文章。

    方式4

    经过分析后,怀疑原因在于,AhkScriptManager.exe文件是在很久之前用AHK软件编译好的。path值在编译AhkScriptManager.ahk文件后,已经固定了,所以之后安装的python等软件的路径就无法加入了。于是我由重新编译了AhkScriptManager.ahk文件。
    当该用户通过现在时间(2017.11.18日文件)重新编译AhkScriptManager.ahk文件,得到新的AhkScriptManager.exe文件,此时的AHK软件配置的快捷键,启动第三方命令行软件cmder后,输入
    echo %PATH%
    ,此时输出的path的值中,方式3总的所有值之外,近期安装的几个软件的路径也都在这个path里面了:

    //cmder添加的行
    D:cmderin;  
    D:cmdervendorconemu-maximus5ConEmuScripts;  
    D:cmdervendorconemu-maximus5;    
    D:cmdervendorconemu-maximus5ConEmu; 
    
    //AHK添加的行
    D:AhkScriptManager3rd; 
    
    //丢失了部分近期安装的软件的路径
    系统变量path
    
    用户变量path
    

    总结经验

    以后再安装软件后,如果想通过AHK软件提供的快捷键方式启动,就必须重新编译该AhkScriptManager.ahk文件(因为这个ahk文件中,存在path值修改的问题),否则就会出现 ”不是内部或外部命令,也不是可运行的程序“的 问题。

  • 相关阅读:
    序列化与反序列化
    POST与GET的区别
    block从0到1
    核心动画与UIView的区别
    app标配控制器:UITabBarController
    APP标配控制器:UINavigationController
    一个表中的某字段中所有的数据,复制到另一个表中
    Axure使用
    photoshop使用注意事项
    js 模板引擎 jade使用语法
  • 原文地址:https://www.cnblogs.com/Lewis_Liu/p/win-cmder-ahk.html
Copyright © 2020-2023  润新知