Convertir les chemins win en dos (limite des 8 charactères)

Soyez le premier à donner votre avis sur cette source.

Vue 3 914 fois - Téléchargée 322 fois

Description

Au fait ça utilise l'API GetshortPathName. Pas plus simple.

Source / Exemple :


'--------------------------------------------------------
'A §kylandeR Corp Product: BiTmAkKeR §kylandeR Creation
'--------------------------------------------------------
'Open Source ! Pas de copyright !
'Thanks to VBfrance !
'Ce prog permet de convertir vos chemins Win en Dos
'Utilisation: DosPath(str_du_chemin as string)

Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal lBuffer As Long) As Long
'
'

Public Function DosPath(strFile As String) As String
    Dim lng As Long, Path As String     'Données nécessaires
    Path = String$(165, 0)              'Crée un buffer
    lng = GetShortPathName(strFile, Path, 164) 'Prend le chemin en Dos
    DosPath = Left$(Path, lng)   'Enlève tout les chr$(0) de trop
End Function

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
7
Date d'inscription
dimanche 2 février 2003
Statut
Membre
Dernière intervention
3 avril 2010

Thank

It's works fine.
Messages postés
37
Date d'inscription
lundi 13 juin 2005
Statut
Membre
Dernière intervention
8 mars 2008

Je te donne 8/10 pour ce prog,génial j'en avais besoin mais je voudrais savoir comment faire pour que la totaliter du chemin windows soit en dos ? parceque avec ce code on a des chemin en dos et le reste (nom du fichier en win). par exemple D:\MESDOS~1\DOSSIE~1\VIDEOS~1\Clips\Nelly over.avi
je voudrai que tout soit de cette forme
D:\MESDOS~1\DOSSIE~1\VIDEOS~1\CLIPSips\NE~1.AVI
en ce moment je code un programme multimédia et j'utilise la fonction mciSendString qui apparament n'arrive pas a lire le fichier avec de l'espace a l'interieur. Merci
Messages postés
908
Date d'inscription
jeudi 26 juillet 2001
Statut
Modérateur
Dernière intervention
1 février 2015
2
Ca fonctionne, c'est déjà pas mal...
Cependant il existe aussi un moyen en utilisant FileSystemObject, sans API, mais avec du VBscript, c'est un choix à faire...

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.