Recuperer le nom "court" d'un fichier

Contenu du snippet

Function GetShortName(ByVal sFileName)
    Dim FSO, oRep, bFolder
    Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
    
'    formate
    sFileName = Trim(sFileName)
    If Right(sFileName, 1) = "\" Then sFileName = Left(sFileName, Len(sFileName) - 1)
    Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
    sFileName = FSO.GetAbsolutePathName(sFileName)
'   vide ou drive? tel quel
    If Len(sFileName) < 2 Then
        GetShortName = sFileName
    ElseIf Len(sFileName) = 2 Then
        GetShortName = sFileName & "\"
    Else
'       chemin dossier ou fichier
        If FSO.FolderExists(sFileName) Then
            Set oRep = FSO.GetFolder(sFileName)
            bFolder = True
        ElseIf FSO.FileExists(sFileName) Then
            Set oRep = FSO.GetFile(sFileName)
            bFolder = False
        Else
            GetShortName = ""
            Set FSO = Nothing
            Exit Function
        End If
'        retour
        If bFolder = True Then
            GetShortName = oRep.ShortPath & "\"
        Else
            GetShortName = oRep.ShortPath
        End If
    End If
        
    Set oRep = Nothing
    Set FSO = Nothing
End Function

'EXEMPLE
MsgBox GetShortName(InputBox("Chemin long à convertir", "", "C:\Documents and Settings\Default  User\NTUSER.DAT"))


Compatibilité : VBScript

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.