Wie würde man korrekt einen zu langen Pfad kürzen?
Ich habe eine Teststruktur die so aussieht:
Code:
D:\0123456789\11111111111111111111111111111111111111111111111111\22222222222222222222222222222222222222222222222222\
33333333333333333333333333333333333333333333333333\44444444444444444444444444444444444444444444444444\
55555555555555555555555555555555555555555555555555\datei.txt
Dieser Pfad ist so lang, dass ich das Verzeichnis
0123456789 selbst nicht mehr mit Windows kopiert bekomme.
Ist hier Schluss mit lustig und Hopfen und Malz verloren oder kann man hier noch was machen um die Datei zu kopieren?
Das Kürzen mit dieser Funktion liefert einen leeren String zurück
Delphi-Quellcode:
function GetShortName(sLongName:
string):
string;
var
sShortName:
string;
nShortNameLen: Integer;
begin
SetLength(sShortName, MAX_PATH);
nShortNameLen := GetShortPathName(PChar(sLongName), PChar(sShortName), MAX_PATH - 1);
if (0 = nShortNameLen)
then
begin
// handle errors...
end;
SetLength(sShortName, nShortNameLen);
Result := sShortName;
end;