Как получить длинное имя файла из короткого имени файла

Переводы статьи Переводы статьи
Код статьи: 154822 - Vizualiza?i produsele pentru care se aplic? acest articol.
Эта статья помещена в архив. Она предлагается "как есть" и обновляться не будет.
Развернуть все | Свернуть все

В этой статье

Аннотация

Функция Dir() может использоваться для возврата длинное имя файла, но не включает сведения о пути. При разборе данного короткий путь/имя_файла на ее составляющие каталогов, можно использовать функцию Dir() создавать длинные путь и имя файла. В этой статье показано, как это сделать.

Дополнительная информация

Следующий пример кода включает функцию, которая преобразует короткие имена файлов в их эквиваленты длинное имя файла, а также простой пример использования функции.

Пошаговый пример

  1. Для запуска Visual Basic. По умолчанию будет создана форма Form1..
  2. Поместите командной кнопки на форму Form1.
  3. В меню "Вставка" выберите модуль для добавления в проект код одного модуля.
  4. Добавьте следующий код в Module1:
       Public Function GetLongFilename _
         (ByVal sShortName As String) _
         As String
    
         Dim sLongName As String
         Dim sTemp As String
         Dim iSlashPos As Integer
    
         'Add \ to short name to prevent Instr from failing
         sShortName = sShortName & "\"
    
         'Start from 4 to ignore the "[Drive Letter]:\" characters
         iSlashPos = InStr(4, sShortName, "\")
    
         'Pull out each string between \ character for conversion
         While iSlashPos
           sTemp = Dir(Left$(sShortName, iSlashPos - 1), _
             vbNormal + vbHidden +    vbSystem + vbDirectory)
           If sTemp = "" Then
             'Error 52 - Bad File Name or Number
             GetLongFilename = ""
             Exit Function
           End If
           sLongName = sLongName & "\" & sTemp
           iSlashPos = InStr(iSlashPos + 1, sShortName, "\")
         Wend
    
         'Prefix with the drive letter
         GetLongFilename = Left$(sShortName, 2) & sLongName
    
       End Function
    
    					
  5. Добавьте следующее событие Command1_Click:
       Private Sub Command1_Click()
    
         'Assumes C:\Program Files\Common Files is a valid path
         Print GetLongFilename("C:\PROGRA~1\COMMON~1")
    
       End Sub
    
    					
  6. Выберите команду Начать в меню «выполнить» или клавишу F5 для запуска.
  7. Нажмите добавленную кнопку..
Если указан путь является допустимым, длинные эквивалент будут напечатаны в форме. Если он не является допустимым, ничего не будет напечатан, в этом случае необходимо будет указать в коде события Command1_Click допустимым коротким именем файла.

Свойства

Код статьи: 154822 - Последний отзыв: 23 февраля 2014 г. - Revision: 1.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 4.0 Standard Edition
Ключевые слова: 
kbnosurvey kbarchive kbhowto kbmt KB154822 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:154822

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com