我正在使用MS Access并尝试从完整的文件路径中提取文件名。 例如,考虑表中的列名:
Path | Directory | FileName | extension
---------------------------------------------------------
C:\temp\xyz.txt | C:\temp | xyz | txt
C:\myPath\tp.doc | C:\myPath | tp | doc
在Access查询设计视图中,我使用以下命令生成“目录”值:
Left([Path],(InStrRev([Path],"\")))
我无法为FileName和扩展名列提取正确的值。任何想法都可以做到精确而无需在模块中编写它会很棒。
答案 0 :(得分:1)
将Mid()
与其他函数一起使用以获取文件基名。 Right()
对于获取扩展程序非常有用。
Path = "C:\temp\xyz.txt"
? Mid(Path, InStrRev(Path,"\") + 1, InStrRev(Path,".") - InStrRev(Path,"\") - 1)
xyz
? Right(Path, Len(Path) - InstrRev(Path, "."))
txt
Path = "C:\myPath\tp.doc"
? Mid(Path, InStrRev(Path,"\") + 1, InStrRev(Path,".") - InStrRev(Path,"\") - 1)
tp
? Right(Path, Len(Path) - InstrRev(Path, "."))
doc
希望您没有像.tar.gz
这样的复合文件扩展名。 : - )