今天无意中回答网友的问题,今天就对文件路径的内容进行一个扩展,希望大家能够喜欢!
获取某个文件所在目录下任意一层文件夹的名字。
获取文件任意层级文件夹的名称(完整路径,层级);
完整路径,即文件的完整路径,例如:E:\8.AHK项目\AutoAHK\AutoAHK\AutoAHK.ahk
层级即距离文件的层级,1为文件本身,2为文件所在文件夹,以此类推直到根目录。
获取文件任意层级文件夹的名称(完整路径,层级) { StringLen, pos_prev, 完整路径 pos_prev += 1 ; 改变位置到最后一个字符的后面. num:=0 ;用于标示文件夹的层数 loop { ; 从右边开始查找第 N 个匹配: StringGetPos, pos, 完整路径, \, R%A_Index% if ErrorLevel break length := pos_prev - pos - 1 pos_prev := pos pos += 2 ; 进行调整以便使用 StringMid. StringMid, path_component%A_Index%, 完整路径, %pos%, %length% num+=1 if(num= 层级) { return,path_component%num% break } } if(num<层级) { MsgBox,该文件所在的目录共%num%层!请调整层级数. } } ; 示例 : ; 把文件的完整路径名分解成各个部分. ; 请注意使用 StringSplit 或 ; 解析循环 会更容易, 这里只是为了演示. FileSelectFile, file, , , Pick a filename in a deeply nested folder: if file <> { MsgBox,% 获取文件任意层级文件夹的名称(file,10) }
第二次弹的内容是空白。
第二次弹出空白什么意思?