Delphi中的目录路径操作?

wme*_*cer 6 delphi path delphi-2007

我有一个给定文件夹的完整路径名称,例如

c:\foo\bar
Run Code Online (Sandbox Code Playgroud)

现在我想在c:\ foo里面引用一个名为baz.txt的文件,

c:\foo\bar\..\baz.txt
Run Code Online (Sandbox Code Playgroud)

我目前正在使用.. path运算符向下一级并获取我需要的文件.

是否有一个可以进行路径操作的函数,例如UpOneLevel(str) - > str?我知道我可以通过拆分字符串并删除最后一个令牌来编写一个,但我宁愿它是一个内置/库函数,所以如果有例如转义反斜杠,我不会遇到麻烦.

wme*_*cer 11

使用ExpandFileName功能:

var
  S: string;
begin
  S := 'c:\foo\bar\..';
  S := ExpandFileName(S);
  ShowMessage(S);
end;
Run Code Online (Sandbox Code Playgroud)

上面示例中的消息将显示c:\foo路径.

  • +1.干得好 - 我接到一个电话,你在我回来之前就解决了.:-) (3认同)