Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Как получить короткий путь файла если есть длинный

Delphi , Файловая система , Файлы

Как получить короткий путь файла если есть длинный


// Короткий
GetShortPathName(LongPath) 

// Наоборот длинный
GetFullPathName(ShortPath)

Вечная борьба с короткими и длинными путями файлов!

В Windows функция GetShortPathName используется для получения короткого имени файла или директории, которое обычно используется в командной строке или при отображении имён файлов в Эксплорере. С другой стороны, функция GetFullPathName используется для получения полного пути имени файла или директории.

Вот пример использования этих функций:

#include <Windows.h>

int main() {
    // Получение короткого пути имени
    char shortPath[255];
    GetShortPathName("C:\\long\\path\\to\\file.txt", shortPath, 255);
    printf("Короткий путь: %s\n", shortPath);

    // Получение полного пути имени
    char fullPath[255];
    GetFullPathName(shortPath, 255, fullPath, NULL);
    printf("Полный путь: %s\n", fullPath);

    return 0;
}

В этом примере мы сначала используем GetShortPathName для получения короткого имени файла, расположенного по адресу "C:\long\path\to\file.txt". Функция принимает четыре аргумента: длинное имя пути, буфер для хранения короткого имени пути, размер буфера и необязательный код ошибки.

Затем мы используем GetFullPathName для получения полного имени пути из короткого имени пути. Опять же, функция принимает четыре аргумента: короткое имя пути, буфер для хранения полного имени пути, размер буфера и необязательный код ошибки.

Обратите внимание, что всегда рекомендуется проверять возвращаемое значение этих функций, чтобы убедиться, что они были успешными. Кроме того, учитывайте, что GetShortPathName может обрезать имя файла, если оно превышает максимальную допустимую длину (обычно 248 символов).

В качестве альтернативных решений можно использовать функцию SHGetPathFromIDList из Shell API для получения полного имени пути из короткого имени пути. Функция принимает структуру ITEMIDLIST в виде входного параметра и возвращает полное имя пути.

Также, если вы работаете с .NET, можно использовать метод Path.GetFullPath для преобразования короткого имени пути в полный путь:

string shortPath = "C:\\long\\path\\to\\file.txt";
string fullPath = Path.GetFullPath(shortPath);

Надеюсь, это поможет! Пожалуйста, не стесняйтесь задавать дополнительные вопросы.

Для получения короткого пути файла из длинного и наоборот, используются функции GetShortPathName и GetFullPathName в Windows API.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Файлы ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-06-02 10:20:12
2024-07-23 21:09:16/0.0037047863006592/0