Autohotkey编程过程中,为了提升脚本的可移值性我常使用相对路径不使用绝对路径。
一、绝对路径
绝对路径就是完整路径。例如,我项目中有个lib目录,目录下有个input库文件,我们要访问它可以使用绝对路径,但是它有个问题,一旦我把项目放在别的位置,项目中的所有路径都要重新修改。
C:\Users\河\Desktop\ahk\项目\lib\input.ahk
二、相对路径
相对路径就可以很好的解决这个问题,相对路径在默认情况下,都是相对于脚本运行目录的,如果没有特殊设置,脚本运行目录就是脚本所在目录,相对路径的写法:
lib\input.ahk
三、内置变量于相对路径
上面提到,相对路径需要一个基准路径做参考,默认是脚本的运行目录。当然也可以借助内置变量实现其他相对路径,比如相对于桌面:
%A_Desktop%\lib\input.ahk
路径相关的内置变量还有A_WorkingDir、A_ScriptDir、A_AhkPath、A_WinDir、A_ProgramFiles、A_AppData、A_AppDataCommon、A_Desktop、A_DesktopCommon、A_StartMenu、A_StartMenuCommon、A_Programs、A_ProgramsCommon、A_Startup、A_StartupCommon、A_MyDocuments。
四、相对路径的上层目录
相对我路径我使用内置变量很容易就能实现了,但是我们发现找到相对路径的下一层级的目录相对比较容易,但是找相对路经的上级目录不是很容易,本文就教大家如何找到一个相对路径的上一级目录:
#include ..\你要的文件.ahk