На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Проблема с длинными путями к файлам
    При копирование файла из директории с количеством символов более 256 возникает ошибка:
    ExpandedWrap disabled
      namespace ConsoleApplication1
      {
        class Program
        {
          static void Main(string[] args)
          {
            string strFileNew = @"e:\TestResult\К стеклу прильнув лицом... Ты уйдешь... Я закрыл глаза...Все потеряно... Я ж.mp3";
            string strFile    = @"e:\Музыка русская\Градский\Градский-новое\Александр Градский - Попытка дискографии (ОБНОВЛЕНО 5.01.10) - 1973-2009, MP3, 320 kbps\1996 - Сама жизнь, Утопия А.Г. (Коллекция АГ)\09 К стеклу прильнув лицом... Ты уйдешь... Я закрыл глаза...Все потеряно... Я ж.mp3";
            try
            {
              File.Copy(strFile, strFileNew);
            } // try
            catch (Exception e)
            {
              Console.WriteLine("\n---------" + e.Message + "---------\n" +  strFile + "\n" + strFileNew + "\n------------------------ ---------\n");
            } // catch
            Console.ReadKey();
          }
        }
      }

    При использовании TotalCommander для копирования в директорию с длинными путями появляется сообщение, что путь слишком длинный, но можно сохранить путь как есть. Я так понимаю, ограничение на длину пути в 256 знаков можно обойти. Подскажите, пожалуйста, как при копировании файла с длинным именем можно избежать ошибки. Проект прикрепил.
    Прикреплённый файлПрикреплённый файлConsoleApplication1.zip (3,54 Кбайт, скачиваний: 70)
        У меня в параметрах компьютера (Windows 10) все нормально:
        Windows Registry Editor Version 5.00
        [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
        "DisableDeleteNotification"=dword:00000000
        "FilterSupportedFeaturesMode"=dword:00000000
        "LongPathsEnabled"=dword:00000001

        В групповой политике все нормально: Enable Win32 long paths = Enabled

        В манифест добавил установку для длинного пути. В путь добавлял "\\?\". Все равно ничего не получается. Прикрепил проект с манифестом. В чем еще может быть дело?
        Прикреплённый файлПрикреплённый файлConsoleApplication1.zip (5,47 Кбайт, скачиваний: 74)
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0171 ]   [ 20 queries used ]   [ Generated: 16.04.24, 19:42 GMT ]