Я работаю над приложением, которое просматривает каждый файл в некоторых каталогах и выполняет с этими файлами некоторые действия. Помимо прочего, мне необходимо получить размер файла и дату изменения этого файла.
Полные имена некоторых файлов (каталог + имя файла) слишком длинные, я не смог' Не используйте .NET Framework FileInfo, размер которого ограничен MAX_PATH (260 символов). Многие веб-источники советуют использовать собственные функции Win32 через P/Invoke для доступа к файлам со слишком длинными именами.
В настоящее время та же проблема возникает с функциями Win32. . Например, GetFileAttributesEx (kernel32.dll) завершается с ошибкой Win32 3 ERROR_PATH_NOT_FOUND для пути длиной 270 байт.
Тот же самый файл можно успешно открыть из Notepad2 и успешно отображается в проводнике Windows (но Visual Studio 2010, например, не может открыть его из-за ограничения в 259 символов¹).
Что я могу сделать, чтобы получить доступ файл, если длина пути к файлу составляет 270 символов?
Примечания:
[*] Удаление или игнорирование файлов с длиной пути к файлу более 259 символов не является решением.
[*]Я ищу только решения, совместимые с Unicode.
[*]Приложение будет работать под управлением Windows 2008/Vista или более поздней версии с установленной .NET Framework 4.
¹ Удивительно, но Microsoft Word 2007 дает сбой, жалуясь на то, что «дискета слишком мала» на компьютере, который у вас нет флоппи-дисковода, или что «ОЗУ недостаточно», когда осталось 4 ГБ ОЗУ, или, наконец, «антивирусное программное обеспечение [...] необходимо обновить». Перестанут ли когда-нибудь выводить такие глупо бессмысленные ошибки хотя бы в таких ключевых продуктах, как Microsoft Office?
Подробнее здесь: https://stackoverflow.com/questions/518 ... characters
Как быть с файлами, имя которых длиннее 259 символов? ⇐ C#
Место общения программистов C#
-
Anonymous
1710908709
Anonymous
Я работаю над приложением, которое просматривает каждый файл в некоторых каталогах и выполняет с этими файлами некоторые действия. Помимо прочего, мне необходимо получить размер файла и дату изменения этого файла.
Полные имена некоторых файлов (каталог + имя файла) слишком длинные, я не смог' Не используйте .NET Framework FileInfo, размер которого ограничен MAX_PATH (260 символов). Многие веб-источники советуют использовать собственные функции Win32 через P/Invoke для доступа к файлам со слишком длинными именами.
В настоящее время та же проблема возникает с функциями Win32. . Например, GetFileAttributesEx (kernel32.dll) завершается с ошибкой Win32 3 ERROR_PATH_NOT_FOUND для пути длиной 270 байт.
Тот же самый файл можно успешно открыть из Notepad2 и успешно отображается в проводнике Windows (но Visual Studio 2010, например, не может открыть его из-за ограничения в 259 символов¹).
Что я могу сделать, чтобы получить доступ файл, если длина пути к файлу составляет 270 символов?
Примечания:
[*] Удаление или игнорирование файлов с длиной пути к файлу более 259 символов не является решением.
[*]Я ищу только решения, совместимые с Unicode.
[*]Приложение будет работать под управлением Windows 2008/Vista или более поздней версии с установленной .NET Framework 4.
¹ Удивительно, но Microsoft Word 2007 дает сбой, жалуясь на то, что «дискета слишком мала» на компьютере, который у вас нет флоппи-дисковода, или что «ОЗУ недостаточно», когда осталось 4 ГБ ОЗУ, или, наконец, «антивирусное программное обеспечение [...] необходимо обновить». Перестанут ли когда-нибудь выводить такие глупо бессмысленные ошибки хотя бы в таких ключевых продуктах, как Microsoft Office?
Подробнее здесь: [url]https://stackoverflow.com/questions/5188527/how-to-deal-with-files-with-a-name-longer-than-259-characters[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия