【发布时间】:2023-04-07 12:57:03
【问题描述】:
我需要获取{app} 的父文件夹。如果最终用户没有更改默认值,这是标准的,但如果他这样做了,问题就会变得更加严重。基本上,我需要一个函数,它将输出所有内容,直到最后一个 \ 反斜杠(包括)。想试试Pos,但它只检测到字符的第一个实例。
【问题讨论】:
我需要获取{app} 的父文件夹。如果最终用户没有更改默认值,这是标准的,但如果他这样做了,问题就会变得更加严重。基本上,我需要一个函数,它将输出所有内容,直到最后一个 \ 反斜杠(包括)。想试试Pos,但它只检测到字符的第一个实例。
【问题讨论】:
使用the ExtractFilePath function:
提取给定文件名的驱动器和目录部分。结果字符串是文件名最左边的字符,直到并包括冒号或反斜杠,将路径信息与名称和扩展名分开。如果 FileName 不包含驱动器和目录部分,则结果字符串为空。
例子:
ExtractFilePath('C:\foo\bar') => 'C:\foo\'
ExtractFilePath('C:\foo\bar\') => 'C:\foo\bar\'
ExtractFilePath('C:\foo\foo\bar') => 'C:\foo\foo\'
ExtractFilePath('..\foo\foo\bar') => '..\foo\foo\'
ExtractFilePath('C:bar') => 'C:'
ExtractFilePath('\\server\foo\bar') => '\\server\foo\'
ExtractFilePath('foo') => ''
ExtractFilePath('\foo') => '\'
ExtractFilePath('') => ''
ExtractFilePath('C:/foo/bar') => 'C:/foo/'
ExtractFilePath('C:/foo/bar/') => 'C:/foo/bar/'
bar 是文件还是(子)文件夹都没有关系。该函数仅对字符串进行操作。它无论如何都不会检查任何物理文件或文件夹。因此,路径的任何部分(甚至驱动器)是否存在都无关紧要。
【讨论】:
我想你可以通过简单地输入:..\{app}
【讨论】: