文件名函数  

文件名函数可以对文件的名称、所在子目录、驱动器和扩展名等进行操作。下表列出这些函数及其功能。

函数说明

ExpandFileName() //返回文件的全路径(含驱动器、路径)

ExtractFileExt() //从文件名中抽取扩展名

ExtractFileName() //从文件名中抽取不含路径的文件名

ExtractFilePath() //从文件名中抽取路径名

ExtractFileDir() //从文件名中抽取目录名

ExtractFileDrive() //从文件名中抽取驱动器名

ChangeFileExt() //改变文件的扩展名

ExpandUNCFileName() //返回含有网络驱动器的文件全路径

ExtractRelativePath() //从文件名中抽取相对路径信息

ExtractShortPathName() //把文件名转化为DOS的8·3格式

MatchesMask() //检查文件是否与指定的文件名格式匹配

ExtractFilePath(FileName:String) //该函数返回路径名,其结尾字符总是“\”

ExtractFileDir(FileName:String) //该函数同样返回路径名,但不包括结尾的字符“\”,除非返回的路径是根目录。

下面就把这些函数作一一介绍:

⑴ExpandFileName()   

原型:extern PACKAGE AnsiString __fastcall ExpandFileName(const AnsiString FileName); 

功能:返回文件的全路径(含驱动器、路径)   

参数:FileName:要处理的文件名   

例:ShowMessage(ExpandFileName(Application->ExeName));//显示你的程序文件名,如C:\MyBCB\Sample1.EXE

⑵ExtractFileExt()   

原型:extern PACKAGE AnsiString __fastcall ExtractFileExt(const AnsiString FileName);   

功能:从文件名中抽取扩展名   

参数:FileName:要处理的文件名(全路径)   

例:ShowMessage(ExtractFileExt(Application->ExeName));//显示".exe"

⑶ExtractFileName()   

原型:extern PACKAGE AnsiString __fastcall ExtractFileName(const AnsiString FileName);   

功能:从文件名中抽取不含路径的文件名   

参数:FileName:要处理的文件名   

例:ShowMessage(ExtractFileExt("c:\\Winnt\\SOL.EXE"));//显示"SOL.EXE"

⑷ExtractFilePath()   

原型:extern PACKAGE AnsiString __fastcall ExtractFilePath(const AnsiString FileName);   

功能:从文件名中抽取路径名   

参数:FileName:要处理的文件名   

例:ShowMessage(ExtractFilePath("Winnt\\SOL.EXE"));//显示"Winnt\"

⑸ExtractFileDir()   

原型:extern PACKAGE AnsiString __fastcall ExtractFileDir(const AnsiString FileName);   

功能:从文件名中抽取目录名(和上个函数不同,不包括最后的"\")   

参数:FileName:要处理的文件名   

例:ShowMessage(ExtractFileDir("Winnt\\SOL.EXE"));//显示"Winnt",注意和上个函数的区别

⑹ExtractFileDrive()   

原型:extern PACKAGE AnsiString __fastcall ExtractFileDrive(const AnsiString FileName);   

功能:从文件名中抽取驱动器名   

参数:FileName:要处理的文件名   

例:ShowMessage(ExtractFileDrive("c:\\Winnt\\SOL.EXE"));//显示"c:"

⑺ChangeFileExt()   

原型:extern PACKAGE System::AnsiString __fastcall ChangeFileExt(const System::AnsiString FileName, const System::AnsiString Extension);   

功能:更改文件名的扩展名,不是对真正的文件进行改名,只是对文件名这个字符串进行处理   

参数:FileName:要改名的文件名,Extension:新的扩展名   

例:ShowMessage(ChangeFileExt("c:\\Winnt\\SOL.EXE",".OOO"));//显示"c:\winnt\SOL.OOO"

⑻ExpandUNCFileName()   

原型:extern PACKAGE AnsiString __fastcall ExpandUNCFileName(const AnsiString FileName);   

功能:返回含有网络驱动器的文件全路径,格式为:\\机器名\共享名\文件名   

参数:FileName:要处理的文件名   

例:ShowMessage(ExpandUNCFileName("F:\\Winnt\\SOL.EXE"));/*如果F:是映射的网络驱动器\\NT40\WINNT,则显示"\\NT40\WINNT\SOL.EXE"*/

⑼ExtractRelativePath()   

原型:extern PACKAGE AnsiString __fastcall ExtractRelativePath(const AnsiString BaseName, const AnsiString DestName);   

功能:从文件名中抽取相对路径信息,如"..\sss\ss.asd"这种形式   

参数:BaseName:基准文件名;DestName:目标文件名   

例:ShowMessage(ExtractRelativePath("D:\\Source\\c\\1.123","D:\\Source\\Asm\\dz.asm"));/*显示"..\asm\dz.asm"*/

⑽ExtractShortPathName()   

原型:extern PACKAGE AnsiString __fastcall ExtractShortPathName(const AnsiString FileName);   

功能:把文件名转换为DOS的8、3格式   

参数:FileName:要处理的文件名   

例:ShowMessage(ExtractShortPathName("E:\\Program Files\\Dual Wheel Mouse\\4dmain.exe"));/*显示"E:\Progra~1\dualwh~1\4dmain.exe"*/

⑾MatchesMask()   

原型:extern PACKAGE bool __fastcall MatchesMask(const AnsiString Filename, const AnsiString Mask);   

功能:检查文件是否与指定的文件名格式匹配   

参数:FileName:要处理的文件名;Mask:文件名格式,支持通配符   

例:ShowMessage(MatchesMask("Lxf.exe","*.?x?));//显示"true"

Delphi中文件名函数-路径、名称、子目录、驱动器、扩展名的更多相关文章

  1. 【转】C#路径中获取文件全路径、目录、扩展名、文件名称

    C#路径中获取文件全路径.目录.扩展名.文件名称 原文链接:https://www.cnblogs.com/JiYF/p/6879139.html 常用函数 需要引用System.IO   直接可以调 ...

  2. C#路径中获取文件全路径、目录、扩展名、文件名称

    C#路径中获取文件全路径.目录.扩展名.文件名称常用函数 需要引用System.IO 直接可以调用Path的静态方法 class Program { static void Main(string[] ...

  3. Delphi中的函数指针判断是否为空

    delphi函数指针 只有@@p才代表了函数指针本身的地址   assigned(p) 判断是否为空 或者用 @p=nil 来判断函数指针是不是为空 Delphi中的函数指针实际上就是指针,只是在使用 ...

  4. Delphi中 StrToIntDef函数的用法

    Delphi中 StrToIntDef函数的用法:比如我要判断一个文本框里输入的字符串能不能转换为integer类型,如果能,则返回转换后的整型数据,如果不能,则返回整数0,那么我就可以用strtoi ...

  5. 从字符串总分离文件路径、命名、扩展名,Substring(),LastIndexOf()的使用;替换某一类字符串,Replace()的用法

    一:从字符串总分离文件路径.命名.扩展名,上图 二:代码 using System; using System.Collections.Generic; using System.ComponentM ...

  6. C# 截取带路径的文件名字,扩展名,等等 的几种方法

    C#对磁盘IO操作的时候,经常会用到这些,路径,文件,文件名字,文件扩展名. 之前,经常用切割字符串来实现, 可是经常会弄错. 尤其是启始位置,多少个字节,经常弄晕. 下面这种方法貌似比较简便: st ...

  7. C# 选择文件、选择文件夹、打开文件(或者文件夹) 路径中获取文件全路径、目录、扩展名、文件名称 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名!!

    https://www.cnblogs.com/zhlziliaoku/p/5241097.html 1.选择文件用OpenDialog OpenFileDialog dialog = new Ope ...

  8. delphi中move函数的正确理解(const和var一样,都是传地址,所以Move是传地址,而恰恰不是传值)太精彩了 good

    我们能看到以下代码var pSource,pDest:PChar;     len: integer;.......................//一些代码Move(pSource,pDest,l ...

  9. Python os模块实例之遍历目录及子目录指定扩展名的文件

    需求:在该目录下有很多子目录(如下图,截图了部分),现要从该目录和所有子目录下找到所有扩展名为.meta的文件,并获取文件中第二行guid的值(': '后面的),然后将所有guid的值输出到另一文件中 ...

随机推荐

  1. INNODB存储引擎之缓冲池

    以下的资料总结自:官方文档和<MySQL技术内幕-INNODB存储引擎>一书. 对INNODB存储引擎缓冲池的那一段描述来自博文:http://www.ywnds.com/?p=9886说 ...

  2. android studio import cannot resolve symbol错误

    试了好多,都不行 经过查阅和测试,发现如果上文的解决方式不可以的话,可以使用另一种: 删除项目.idea目录下的libraries目录 重新启动Android Studio 感谢作者:https:// ...

  3. lamp+nginx代理+discuz+wordpress+phpmyadmin搭建

    我们以模拟实际需求的形式来复习.需求如下:1. 准备两台centos 6,其中一台机器跑mysql,另外一台机器跑apache和nginx + php2. 同时安装apache和nginx,其中ngi ...

  4. 无法将 Ethernet0 连接到虚拟网络”VMnet0″ 详细信息可以在 vmware.log 文件中找到未能连接虚拟机Ethernet0

    在 vmware“编辑->虚拟网络设置”里面,点“恢复默认”可解决.  

  5. 【Java多线程系列四】控制线程执行顺序

    假设有线程1/线程2/线程3,线程3必须在线程1/线程2执行完成之后开始执行,有两种方式可实现 Thread类的join方法:使宿主线程阻塞指定时间或者直到寄生线程执行完毕 CountDownLatc ...

  6. Git 学习第四天

    我们已经知道,通过命令 git remote add origin git@github.com/Your.name/file.git 可以连接远程仓库,那么,假如我现在想切换另个一远程仓库的连接应该 ...

  7. leetcode.字符串.696计数二进制子串-java

    1. 具体题目 给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的.重复出现的子串要计算它们出现的次数. 示例 1 : 输入: ...

  8. hdu 6435 /// 状压

    题目大意: 给定 n m k 为 n种主武器 m种副武器 武器有k种属性 接下来n行 先给定当前主武器的综合分s1 再给定k种属性的值 接下来m行 先给定当前副武器的综合分s2 再给定k种属性的值 要 ...

  9. 【HDOJ】P1215 七夕节

    题目意思很简单,不解释 有两种方法, 1是暴力法,不就是 2就是下面要讲的方法 假如果说一个数n可以被b整除,那么一定可以被b的因子整除 那么我需要做的就是枚举这些因子 多余的请看代码 #includ ...

  10. JOOQ 入门--简介

    序言 新接触的项目中存在的大量的原生JDBC的代码,满屏幕都是PrepareStatement 和ResultSet, 以及各种关闭资源的语句. 所以有了用开源框架去重写的想法,然后就找到了JOOQ. ...