如何扩展包含 \..\ 的路径

lok*_*oki 0 windows delphi winapi path

我有这条路:

c:\dev\myapp\dirA\..\dirB\myfile.txt
Run Code Online (Sandbox Code Playgroud)

如何将其扩展为:

c:\dev\myapp\dirB\myfile.txt
Run Code Online (Sandbox Code Playgroud)

他们有任何 Delphi 函数可以做到这一点吗?或者有任何 winapi 函数吗?

Iva*_*tau 10

您可以使用该SysUtils.ExpandFileName()功能。

ExpandFileName('c:\dev\myapp\dirA\..\dirB\myfile.txt');
Run Code Online (Sandbox Code Playgroud)

结果:

c:\dev\myapp\dirB\myfile.txt
Run Code Online (Sandbox Code Playgroud)