FILE_DIRNAME
FILE_DIRNAME函数返回文件路径的目录名。文件路径是一个或多个由目录分隔符(UNIX下的下划线(\),WINDOWS下的反下划线(/))分隔的名称组成的字符串。目录名(dirname)是除最后最右侧的片段之外的所有文件路径,它通常是一个文件名称,也可以是一个目录名。
Note:FILE_DIRNAME严格按照字符串的规则对其进行运算。路径(PATH)参数不需要引用实际或现有文件。
FILE_DIRNAME是基于标准的UNIX实用程序的目录设计的。
Note:为了返回文件路径最右侧的部分,请使用FILE_BASENAME函数。
Syntax(语法)
Result = FILE_DIRNAME(Path [, /MARK_DIRECTORY])
Return Value(返回值)
包含路径(PATH)参数的每一个元素的目录名的标量字符串或字符串数组。
Note:默认情况下,目录名称不包括最后一个目录分隔符,此行为可以被MARK_DIRECTORY关键字更改。
Note:在Windows平台上,被FILE_NAME返回字符串始终使用反下划线(/)作为目录分隔符,即使在PATH参数中使用了下划线(\)。
Arguments(参数)
PATH
包含所需目录名称的路径的标量字符串或字符串数组。
Note:在微软的Windows下,反下划线(\)被用于分割路径中的目录。为了UNIX的兼容性和方便使用,下划线(/)也被作为PATH参数的目录分隔符使用。但是,在Windows平台上,所有的FILE_DIRNAME返回的结果都为此使用了标准的反下划线(\),不管分隔符是否使用在PATH参数中。
Keywords(关键词)
MARK_DIRECTORY
设置这个关键字可以将目录分隔符添加至返回的目录名称字符串的末尾。包含目录字符允许你自动连接文件名到目录字符串末尾,无需手动添加分隔符。这对于跨平台编程很方便,因为操作系统的分隔符是不同的。
实现的效果:在后面加了个反下划线(\)。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-22c9taBN-1644994123898)(picture\FILE_DIRECTORY.jpg)]
Rules used by FILE_DIRNAME(FILE_DIRNAME 使用的规则 )
FILE_DIRNAME复制输入路径字符串,并且根据以下的规则修改副本:
-
如果PATH是空字符串,那么FILE_DIRNAME返回一个单点(.)符号,表示IDL进程的当前工作目录。
-
在微软的Windows下,文件路径可以用以下开头:
- 一个盘符字母和一个冒号(用于c:\directory\file格式的文件路径)。
- 初始双反下划线和一个主机名称(用于\host\share\directory\file格式的UNC文件路径)。
如果他们中的任何一个出现在PATH中,他们都被认为目录名中的一部分,并且被拷贝到结果中,不被下面余下的步骤所解释。
-
如果PATH路径完全由目录分隔符组成,FILE_DIRNAME的结果是一个目录分隔符(如果需要,以Windows盘符和冒号为前缀或者UNC为前缀)。
-
最右侧的目录分隔符右侧的所有字符会被删除。
-
所有的尾随目录分隔符都被删除。
-
如果使用了MARK_DIRECTORY 关键字,则单个目录分隔符会被增加至末尾。