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 关键字,则单个目录分隔符会被增加至末尾。

FILE_DIRNAME相关推荐

  1. MATLAB获取一个目录中的所有文件

    问题:在一个目录中,有一系列需要分析的文件,这些文件的名字都是数值,如距离值(0.1, 0.2, ... , 10.0),再加上一个后缀(.txt, .dat等). 在分析数据的时候需要这些文件按文件 ...

  2. “ModSecurity2”源码分析

    一.相关结构体 struct msre_engine{apr_pool_t *mp;apr_table_t *variables;apr_table_t *operators;apr_table_t ...

  3. IDL 建立影像金字塔

    形成按目录放好的,类似于Google Map Tile的金字塔瓦片Jpg. 1: ; 2: pro tsplit 3: ; 读入Jpeg格式文件 4: szFile = 'e:\test.jpg'; ...

  4. yocto 知:BitBake用户手册

    BitBake 用户手册 作者:Richard Purdie, Chris Larson, and Phil Blundell 译者:maminjie BitBake社区 bitbake-devel@ ...

  5. 4.Yocto项目概念

    目录 4.1约克托项目组件 4.1.1比特贝克 4.1.2食谱recips 4.1.3类class 4.1.4配置conf 4.2层layer 4.3开放式构建系统概念 4.3.1用户配置 4.3.2 ...

  6. 【MMCV 源码解读】一、Config(配置文件相关)

    目录 前言 一.通过dict生成config 1.1.字典对象实现属性访问 1.2.字典对象 pretty 输出 1.3.@property 二.通过配置文件生成 config 2.1.替换预定义变量 ...

  7. 如何把图片转换成渐进式图片

    优化图片加载体验,可以把图片改为渐进式图片.加载效果是先模糊,再清晰. 如果把图片转成渐进式图片呢? PS 编辑修改 代码转换 import os from PIL import Image # pi ...

  8. yocto(二)——bitbake工作流程

    本文参考yocto官方手册,如有理解不当之处,欢迎留言指出. 项目概述和概念手册:https://docs.yoctoproject.org/overview-manual/index.html 项目 ...

  9. 使用IDL显示DICOM文件的信息

    目录 零.前言 一.DICOM文件简介 二.IDL实现读取DICOM文件信息 三.结果展示 零.前言 这篇博客主要是通过IDL语言显示医学图像DICOM文件的一些信息,例如病人名字,医院,图片分辨率等 ...

最新文章

  1. Linux性能测试 sar命令
  2. vc中GetDlgItem用法
  3. linux 命令 —-— vi编辑器
  4. Fragment初识
  5. 行业思考 | 酷炫动效是否利于你的产品设计?
  6. 通俗易懂地搞懂决策树(Decision Tree)那些事儿
  7. 什么是JVM?JVM概述——初识JVM(类加载器,垃圾回收器,执行引擎)
  8. linux strace cpu,如何定位死循环或高CPU使用率(linux)
  9. 晨曦记账本记账,导出账目保存表格
  10. Hibernate框架介绍以及入门 【一】Hibernate 快速入门 框架的概述 什么是 Hibernate Hibernate 持久层的ORM框架 下载Hibernate 官网 编写测试代码
  11. VS 2019Xamarin开发Android App生成apk文件
  12. DAEMON 中的 SPTD 和 发生sptd.sys 错误的处理办法~
  13. 【附源码】Java计算机毕业设计基于微信小程序停车系统(程序+LW+部署)
  14. 面试题:重写equals方法为什么通常会重写hashcode方法?
  15. 已解决:树莓派外接硬盘 usb 或者sata 导致wifi无法链接 无线网卡无法使用问题
  16. Ubuntu 16.04/18.04/20.04/deepin v20安装insight的方法
  17. gSoap入门之一__下载及编译gsoap两大法宝
  18. JavaEE 之 Mybatis
  19. Spring问题研究之bean的属性xml注入List类型不匹配
  20. AndroidStudio安装SVN时忘记勾选command line client tools解决方案

热门文章

  1. 大数据处理问题及解决方法
  2. eclipse如何attach source?
  3. 单片机编程系列之分层设计2(怎样合理拆分子系统)
  4. 软考高级 真题 2016年下半年 信息系统项目管理师 论文
  5. 布莱克斯科尔斯模型(六)写在最后
  6. 【Python + selenium】在浏览器打开新页签,打开方式
  7. Web API接口开发和测试
  8. oracle 表变化监控,oracle 怎么 监控数据变化
  9. 经典题:用Java打印空心菱形
  10. 【搬运工】值得一提的生活窍门