![]() |
Convert Long File Name to Short File Name
OK, he're's the dilemma.
I have two lists of files I've imported. One has the file names/paths in long format that contains the path, name, size, last accessed, etc. The other list has them in DOS format wiht name, path size, last accessed and owner. I need to get the file name strings in the same format so I can compare the two and put the owners to the long file names. Is there some magical way to put these lists in Excel and somehow convert the long file paths/names to short file paths/names? It's the only way I can think of to get the files in sync. I thought of converting from short to long, but my problem is I may have three files with a short name of OGS101~1.TXT that have three different owners - how would I know what one is ~1, ~2 or ~3 when they are all the same size/file date? I found some scripts that take out the spaces, but I don't know how the short file name handles special characters and how it truncates to ~2, ~3, etc. Any help would be greatly appreciated! |
Convert Long File Name to Short File Name
Robert,
You can use the GetShortPathName API call, instead of trying to do it yourself. Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long See here for an example : http://vbnet.mvps.org/code/hooks/fil...dlghookadv.htm NickHK "Robert_L_Ross" wrote in message ... OK, he're's the dilemma. I have two lists of files I've imported. One has the file names/paths in long format that contains the path, name, size, last accessed, etc. The other list has them in DOS format wiht name, path size, last accessed and owner. I need to get the file name strings in the same format so I can compare the two and put the owners to the long file names. Is there some magical way to put these lists in Excel and somehow convert the long file paths/names to short file paths/names? It's the only way I can think of to get the files in sync. I thought of converting from short to long, but my problem is I may have three files with a short name of OGS101~1.TXT that have three different owners - how would I know what one is ~1, ~2 or ~3 when they are all the same size/file date? I found some scripts that take out the spaces, but I don't know how the short file name handles special characters and how it truncates to ~2, ~3, etc. Any help would be greatly appreciated! |
Convert Long File Name to Short File Name
Robert,
And here's an example cribbed from the API-Guide: Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" _ (ByVal lpszLongPath As String, _ ByVal lpszShortPath As String, _ ByVal lBuffer As Long) _ As Long Public Function GetShortPath(strFileName As String) As String 'KPD-Team 1999 'URL: http://www.allapi.net/ Dim lngRes As Long, strPath As String 'Create a buffer strPath = String$(165, 0) 'retrieve the short pathname lngRes = GetShortPathName(strFileName, strPath, 164) 'remove all unnecessary chr$(0)'s GetShortPath = Left$(strPath, lngRes) End Function NickHK "NickHK" wrote in message ... Robert, You can use the GetShortPathName API call, instead of trying to do it yourself. Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long See here for an example : http://vbnet.mvps.org/code/hooks/fil...dlghookadv.htm NickHK "Robert_L_Ross" wrote in message ... OK, he're's the dilemma. I have two lists of files I've imported. One has the file names/paths in long format that contains the path, name, size, last accessed, etc. The other list has them in DOS format wiht name, path size, last accessed and owner. I need to get the file name strings in the same format so I can compare the two and put the owners to the long file names. Is there some magical way to put these lists in Excel and somehow convert the long file paths/names to short file paths/names? It's the only way I can think of to get the files in sync. I thought of converting from short to long, but my problem is I may have three files with a short name of OGS101~1.TXT that have three different owners - how would I know what one is ~1, ~2 or ~3 when they are all the same size/file date? I found some scripts that take out the spaces, but I don't know how the short file name handles special characters and how it truncates to ~2, ~3, etc. Any help would be greatly appreciated! |
All times are GMT +1. The time now is 04:53 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com