Entfernt Elemente eines Dateipfads entsprechend spezieller Strings, die in diesen Pfad eingefügt wurden
#include <WinAPIShPath.au3>
_WinAPI_PathCanonicalize ( $sFilePath )
$sFilePath | Der anzupassende Pfad |
Erfolg: | Der anzupassende Pfad |
Fehler: | Der ursprüngliche Parameter $sFilePath. Es ist _WinAPI_GetLastError() aufzurufen, um erweiterte Fehlerinformationen zu erhalten. |
Mit dieser Funktion kann der Benutzer angeben, was aus einem Pfad entfernt werden soll, indem er spezielle Zeichenfolgen in den Pfad einfügen.
Die ".."-Sequenz gibt an, dass ein Pfadsegment von der aktuellen Position zum vorherigen Pfadsegment entfernt werden soll.
Die "."-Sequenz gibt an, dass das nächste Pfadsegment zum folgenden Pfadsegment übersprungen werden soll.
Das Root-Segment des Pfades kann nicht entfernt werden.
Wenn es mehr ".."-Sequenzen als Pfadsegmente gibt, gibt die Funktion nur das Root, "\", zurück.
Suche nach PathCanonicalize in der MSDN Bibliothek.
#include <WinAPIShPath.au3>
Local $aPath[5] = ['A:\Dir1\.\Dir2\..\Dir3', 'A:\Dir1\..\Dir2\.\Dir3', 'A:\Dir1\Dir2\.\Dir3\..\Dir4', 'A:\Dir1\.\Dir2\.\Dir3\..\Dir4\..', 'A:\..']
For $i = 0 To 4
ConsoleWrite($aPath[$i] & ' => ' & _WinAPI_PathCanonicalize($aPath[$i]) & @CRLF)
Next