Obtient la forme canonique d'un chemin en traitant les chaînes spéciales '.' et '..' insérées dans ce chemin
#include <WinAPIShPath.au3>
_WinAPI_PathCanonicalize ( $sFilePath )
$sFilePath | Le chemin à simplifier. |
Succès: | Retourne le chemin simplifié. |
Échec: | Retourne le paramètre original $sFilePath, appelez _WinAPI_GetLastError() pour obtenir des informations supplémentaires sur l'erreur. |
Cette fonction permet à l'utilisateur de spécifier ce qu'il faut éliminer d'un chemin en insérant des séquences de caractères spéciaux dans le chemin.
La séquence ".." indique qu'il faut éliminer le segment de chemin et le segment de chemin précédent. Par exemple "A:\Dir1\..\Dir2\Dir3" donne "A:\Dir2\Dir3".
La séquence "." peut être éliminée. Par exemple "A:\Dir1\.\Dir2\Dir3" donne "A:\Dir1\Dir2\Dir3".
Le segment racine du chemin ne peut pas être enlevé. Par exemple "A:\.." donne "A:\".
S'il y a plus de séquences ".." qu'il n'y a de segments de chemin, la fonction retourne simplement la racine, "\".
Consultez PathCanonicalize dans la librairie MSDN.
#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