【问题标题】:Get a path to parent folder in Inno Setup在 Inno Setup 中获取父文件夹的路径
【发布时间】:2023-04-07 12:57:03
【问题描述】:

我需要获取{app} 的父文件夹。如果最终用户没有更改默认值,这是标准的,但如果他这样做了,问题就会变得更加严重。基本上,我需要一个函数,它将输出所有内容,直到最后一个 \ 反斜杠(包括)。想试试Pos,但它只检测到字符的第一个实例。

【问题讨论】:

    标签: inno-setup pascalscript


    【解决方案1】:

    使用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 是文件还是(子)文件夹都没有关系。该函数仅对字符串进行操作。它无论如何都不会检查任何物理文件或文件夹。因此,路径的任何部分(甚至驱动器)是否存在都无关紧要。

    【讨论】:

      【解决方案2】:

      我想你可以通过简单地输入:..\{app}

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-31
        • 1970-01-01
        • 1970-01-01
        • 2019-09-28
        相关资源
        最近更新 更多