OVH Cloud OVH Cloud

Conversion chemin fichier long en court (Mode DOS)

6 réponses
Avatar
Croconade
bonjour tout le monde,

Comment convertir des noms de fichier long (32 bits) en
noms de fichiers courts ? (DOS)

Exemple : "C:\Programs Files" en "C:\Progra~1"

Merci d'avance,

6 réponses

Avatar
Stéphane L.
je ne connais pas de commande, mais juste au cas où ce soit bizarrement
impossible,
il suffirait de regarder le résultat de dir /x
mais bon, le traitement est 1 peu compliquer, et il faudrait surement passer
par 1 fichier texte

bonne chance

Stéphane

"Croconade" a écrit dans le message de
news:2113a01c45a0c$1aec55e0$
bonjour tout le monde,

Comment convertir des noms de fichier long (32 bits) en
noms de fichiers courts ? (DOS)

Exemple : "C:Programs Files" en "C:Progra~1"

Merci d'avance,



Avatar
ng
Salut,

Il suffit d'utiliser l'API GetShortPathName() :

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

Public Function GetShortPath(ByVal strPath As String) As String
Dim lngRes As Int32, strBuffer As String
strBuffer = Str.Space(255)
lngRes = GetShortPathName(strPath, strBuffer, 254)
GetShortPath = Str.Left(strBuffer, lngRes)
End Function

Exemple d'utilisation :

MsgBox(GetShortPath("c:Program Files"))



--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/



Croconade a écrit :

bonjour tout le monde,

Comment convertir des noms de fichier long (32 bits) en
noms de fichiers courts ? (DOS)

Exemple : "C:Programs Files" en "C:Progra~1"

Merci d'avance,


Avatar
ng
ReSalut,

J'oubliais mon import :

Imports Str = Microsoft.VisualBasic.Strings



--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/



ng a écrit :

Salut,

Il suffit d'utiliser l'API GetShortPathName() :

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

Public Function GetShortPath(ByVal strPath As String) As String
Dim lngRes As Int32, strBuffer As String
strBuffer = Str.Space(255)
lngRes = GetShortPathName(strPath, strBuffer, 254)
GetShortPath = Str.Left(strBuffer, lngRes)
End Function

Exemple d'utilisation :

MsgBox(GetShortPath("c:Program Files"))




bonjour tout le monde,

Comment convertir des noms de fichier long (32 bits) en
noms de fichiers courts ? (DOS)

Exemple : "C:Programs Files" en "C:Progra~1"

Merci d'avance,




Avatar
Croconade
Merci pour l'info ça marche correctement
-----Message d'origine-----
ReSalut,

J'oubliais mon import :

Imports Str = Microsoft.VisualBasic.Strings



--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/



ng a écrit :

Salut,

Il suffit d'utiliser l'API GetShortPathName() :

Private Declare Function GetShortPathName




Lib "kernel32" Alias
"GetShortPathNameA" (ByVal lpszLongPath As String,




ByVal
lpszShortPath As String, ByVal lBuffer As Int32) As




Int32

Public Function GetShortPath(ByVal strPath As




String) As String
Dim lngRes As Int32, strBuffer As String
strBuffer = Str.Space(255)
lngRes = GetShortPathName(strPath, strBuffer,




254)
GetShortPath = Str.Left(strBuffer, lngRes)
End Function

Exemple d'utilisation :

MsgBox(GetShortPath("c:Program Files"))




bonjour tout le monde,

Comment convertir des noms de fichier long (32 bits)






en
noms de fichiers courts ? (DOS)

Exemple : "C:Programs Files" en "C:Progra~1"

Merci d'avance,






.



Avatar
hey
J'ai trouvé ce mail en surfant sur le net. Tu n'es
finalement pas si con que ça !

-----Message d'origine-----
bonjour tout le monde,

Comment convertir des noms de fichier long (32 bits) en
noms de fichiers courts ? (DOS)

Exemple : "C:Programs Files" en "C:Progra~1"

Merci d'avance,

.



Avatar
Cédric Naudy
Ceci devrait vous iader :
175512 How To Get a Short Filename from a Long Filename
http://support.microsoft.com/?id5512

Ah, les bonnes vieilles API win32...

Cédric

"hey" wrote in message
news:863e01c48535$bb87da20$
J'ai trouvé ce mail en surfant sur le net. Tu n'es
finalement pas si con que ça !

-----Message d'origine-----
bonjour tout le monde,

Comment convertir des noms de fichier long (32 bits) en
noms de fichiers courts ? (DOS)

Exemple : "C:Programs Files" en "C:Progra~1"

Merci d'avance,

.