C:\Programme existiert tatsächlich, ist aber aber
symbolischer Link.
Du kannst beim Auflisten der Verzeichnisse die aussortieren indem du schaust dass das Flag
faSymLink
nicht vorhanden ist:
Delphi-Quellcode:
program Project28;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils,
System.Types,
System.IoUtils;
var
directories: TStringDynArray;
directory: String;
isNotSymLink: TDirectory.TFilterPredicate;
begin
isNotSymLink :=
function(const Path: string; const SearchRec: TSearchRec): Boolean
begin
Result := (faSymLink and SearchRec.Attr) = 0;
end;
directories := TDirectory.GetDirectories(
'C:\',
TSearchOption.soTopDirectoryOnly,
isNotSymLink
);
for directory in directories do
WriteLn(directory);
ReadLn;
end.