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

0/5 (3 avis)

Vue 4 147 fois - Téléchargée 372 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
Rousseil Messages postés 7 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 3 avril 2010
6 avril 2010 à 10:59
Thank

It's works fine.
allarabeye Messages postés 37 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 8 mars 2008
16 nov. 2007 à 13:43
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
cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 2
19 juin 2002 à 18:31
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.