Ошибка при создании файла или папки

В данной статье я расскажу из-за чего возникает ошибка 0x80070052 которая возникает при копировании файлов и папок на диск или съемный носитель. Текст ошибки звучит – Невозможно создать каталог или файл. Давайте разберемся что это за ошибка и как ее решить.

Всем привет! Сегодня при копировании на флешку баз данных 1с с компьютере под операционной системой Windows 7 , но на самом деле ошибка 0x80070052  может возникнуть и на Windows 10 т.к. данная ошибка говорит о том, что носитель на который происходит копирование превысила допустим лимит файлов в одной директории. Данное ограничение относится к старым версиям файловых систем такие как FAT

Ошибка 0x80070052 что это значит

В моем случае проблема была в том, что при копировании баз 1с в папке было около 38 тыс файлов, а если считать от корневой родительской категории то уже был приевышен лимит файлов

Сколько может быть максимально файлов в одной директории?

Ограничения для файловой системы FAT32

Файловая система FAT32 – пришла на смену устаревшей FAT16. Ее также разработали специалисты Microsoft, но, в отличие от NTFS, она распространяется в виде открытого исходного кода. Поэтому разработчики любого софта могут беспрепятственно компилировать и внедрять драйвер в свое ПО. Например, поддержка FAT32 есть не только в «родной» операционной системе, но и в любой другой — linux, MacOS, Android, даже в таких проприетарных системах, как iOS.

  • Максимальный размер диска: 2 терабайта
  • Максимальный размер файла: 4 гигабайта
  • Максимальное количество файлов на диске: 268,435,437
  • Максимальное количество файлов в одной папке: 65,534

Ограничения для файловой системы NTFS

Файловая система NTFS – фирменная файловая система Microsoft, которую разработчики начали внедрять в операционную систему Windows, начиная с версии NT 3.1. Несмотря на байки о ненадежности и низкой отказоустойчивости этой системы, NTFS считается самым лучшим и удачным решением для работы актуальных операционных систем Windows.

  • Максимальный размер диска: 256 терабайт
  • Максимальный размер файла: 256 терабайт
  • Максимальное количество файлов на диске: 4 294 967 295
  • Максимальное количество файлов в одной папке: 4 294 967 295

Как исправить ошибку 0x80070052?

Для того чтобы исправить ошибку 0x80070052 вам нужно следующие действия:

  1. сохранить на компьютер или другое устройство все файлы с флеш накопителя или съемного диска
  2. произвести форматирование диска
    Ошибка 0x80070052
  3. после пытаетесь сохранить данные снова на флешку.

Видео инструкция 

На чтение 4 мин. Просмотров 3.5k. Опубликовано 03.09.2019

Каждый день мы обращаемся к различным файлам и создаем их, но иногда могут возникать определенные проблемы с файлами. Пользователи сообщили, что получают сообщение об ошибке Cannot create file в Windows 10, и сегодня мы собираемся показать вам, как это исправить.

Содержание

  1. Как исправить ошибки «Не удается создать файл»
  2. Исправлено – «Не удается создать файл», щелкните правой кнопкой мыши папку
  3. Исправлено – «Не удается создать файл», если этот файл уже существует

Как исправить ошибки «Не удается создать файл»

Исправлено – «Не удается создать файл», щелкните правой кнопкой мыши папку

Решение 1. Измените реестр .

По словам пользователей, эта ошибка возникает, когда у вас нет необходимых разрешений для папки временных файлов Интернета, хранящейся на сервере. Из-за этой проблемы вы не сможете открыть или сохранить вложение электронной почты, но вы сможете исправить эту проблему, внеся определенные изменения в свой реестр.

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

  1. Нажмите Windows Key + R и введите regedit . Нажмите ОК или нажмите Enter .
  2. Когда откроется редактор реестра, на левой панели перейдите к HKEY_CURRENT_USERSoftwareMicrosoftOffice14.0OutlookSecurity .
  3. На правой панели дважды нажмите OutlookSecureTempFolder .
  4. В поле Значение данных введите C: temp0 и нажмите ОК .
  5. После внесения этих изменений закройте редактор реестра и перезагрузите компьютер.

После перезагрузки компьютера проверьте, устранена ли проблема. Это решение должно работать для всех современных версий Outlook, хотя путь в Шаг 2 может немного измениться в зависимости от используемой версии.

Альтернативный способ решить эту проблему – создать новый раздел реестра для OutlookSecureTempFolder. Вы можете сделать это, выполнив следующие действия:

  1. Откройте редактор реестра и перейдите к ключу HKEY_CURRENT_USERSoftwareMicrosoftOffice14.0OutlookSecurity на левой панели.
  2. Найдите OutlookSecureTempFolder в правой панели и переименуйте его в OutlookSecureTempFolder__Old .
  3. На правой панели щелкните правой кнопкой мыши пустое место и выберите Создать> Значение строки . Введите OutlookSecureTempFolder в качестве имени новой строки.
  4. Дважды нажмите OutlookSecureTempFolder и измените значение данных на % USERPROFILE% DocumentsOutlookTempFiles . Нажмите ОК .
  5. Теперь перейдите в % USERPROFILE% Documents и создайте там папку OutlookTempFiles .
  6. Перезагрузите компьютер, снова запустите Outlook и проверьте, решена ли проблема.
  • Читайте также: Outlook 2016 с темной темой снижает энергопотребление

Решение 2. Пустая папка Outlook Secure Temp

Эта проблема может затронуть практически любую версию Outlook, и для ее устранения необходимо удалить все файлы из папки Outlook Secure Temp. Вы можете сделать это, выполнив следующие действия:

  1. Откройте редактор реестра и перейдите к ключу HKEY_CURRENT_USERSoftwareMicrosoftOffice15.0OutlookSecurity на левой панели. Этот путь может немного отличаться в зависимости от используемой версии Outlook.
  2. Откройте OutlookSecureTempFolder в правой панели, чтобы просмотреть его свойства.
  3. Скопируйте расположение файла из поля Значение данных и вставьте его в адресную строку проводника.
  4. После того, как вы откроете эту папку, удалите все файлы из нее.

Если проверка реестра и удаление этих файлов слишком сложны для вас, вы также можете использовать такие инструменты, как OutlookTempCleaner и OutlookTools , чтобы быстро и легко очистить папку Outlook Secure Temp.

Исправлено – «Не удается создать файл», если этот файл уже существует

Решение 1. Проверьте свой синтаксис

Пользователи сообщали об этой ошибке при попытке создать ссылку с помощью команды mklink. Эта команда может быть очень полезной, но для ее использования необходимо убедиться, что ваш синтаксис правильный. Если ваш синтаксис неправильный, вы, скорее всего, получите сообщение Невозможно создать файл об ошибке . Если вы используете команду mklink, обязательно используйте следующий синтаксис: mklink [параметры] [ссылка] [цель] .

Решение 2. Переместите файлы из ссылки в целевую папку .

Как мы уже объясняли в нашем предыдущем решении, синтаксис mklink должен выглядеть следующим образом: mklink [options] [Link] [Target] .Чтобы решить эту проблему, вам нужно вручную переместить файлы из каталога Link в каталог Target.

После этого удалите папку Link и попробуйте снова запустить команду. Помните, что удаление определенных каталогов может привести к проблемам, поэтому может быть лучше просто переименовать их.

Решение 3. Удалите каталог Tvsuinstaller

Пользователи сообщали об этой ошибке при попытке установить обновления системы, и, по-видимому, эту проблему можно устранить на ноутбуках Lenovo, удалив один каталог. Просто перейдите в C: ProgramDataLenovo и удалите папку Tvsuinstaller . После удаления попробуйте выполнить обновление системы еще раз.

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

Данная проблема в Битриксе может появляться при отсутствии нужных прав на каталоги и файлы. В моём случае проблема возникла при многосайтовости, до этого всё было в порядке, но спустя какое-то время после длительной работы, появилось ограничение. За время поиска решения этой задачи, я нашел несколько решений и думаю, что один из вариантов Вам поможет справиться с данной проблемой. 

Первое что необходимо сделать — это проверить права на файлы и папки в нужном каталоге. Права на папку должны быть 755, на файлы 664. Ни в коем случае не выставляйте права 777 на папки или файлы, даже на время. 

В моём случае этот метод не сработал, я стал копать дальше. Нашел такой совет. в файле /bitrix/php_interface/dbconn.php установить такие константы. 

define( "BX_FILE_PERMISSIONS", 0660 );

define( "BX_DIR_PERMISSIONS", 0775 );

@umask( ~BX_DIR_PERMISSIONS );

@ini_set( "memory_limit", "512M" );

Но этого не потребовалось, т.к. эти значения уже были заданы и по идее всё должно было работать. На одном из форумов посоветовали изменить права доступа и владельца к нужной категории через консоль. Но я посчитал, что если всё до этого работало, то не нужно так далеко залазить, проблема явно была в не в этом, для Вас приведу код в котором можно изменить права доступа к каталогам и файлам через консоль. Говорят может помочь. 

find . -type d -exec chmod 775 { } ;

find . -type f -exec chmod 664 { } ;

В моём случае решение оказалось куда проще.  Все сайты лежали в корневой директории, один из них являлся общим ядром. Но по какой-то причине прекратился общий доступ к «главному сайту» и всё что нужно было сделать — это открыть доступ.

Поскольку сайты на учётных записях закрыты процессы, запущенные на одном сайте, не имеют прав для обращения к каталогам, выходящим за пределы этого сайта. Для доступа из окружения веб-сервера потребуется открыть общий доступ к каталогу. Мой проект находится на beget и эта операция делается очень просто через файловый менеджер.

  1. Зайдите в нужную директорию
  2. В верхней части экрана нажмите на кнопку “Инструменты” -> “Настроить общий доступ к текущей директории”: 
  3. Установите переключатели “Чтение и запись” и “Включая вложенные папки”, нажмите кнопку “Открыть доступ”: 

Если представленные варианты не принесли желаемого результата,  то пишите в комментарии, будет время, что-нибудь придумаем. 

Некоторые пользователи сталкиваются с 0x80070052 (каталог или файл не может быть создан) при попытке скопировать файлы на съемный носитель, такой как флэш-диск или внешний жесткий диск. Сообщается, что в большинстве случаев проблема возникает с фотографиями и видео (особенно с именем длиной более 20 символов).

Данная проблема в Битриксе может появляться при отсутствии нужных прав на каталоги и файлы. В моём случае проблема возникла при многосайтовости, до этого всё было в порядке, но спустя какое-то время после длительной работы, появилось ограничение. За время поиска решения этой задачи, я нашел несколько решений и думаю, что один из вариантов Вам поможет справиться с данной проблемой. 

Первое что необходимо сделать — это проверить права на файлы и папки в нужном каталоге. Права на папку должны быть 755, на файлы 664. Ни в коем случае не выставляйте права 777 на папки или файлы, даже на время. 

В моём случае этот метод не сработал, я стал копать дальше. Нашел такой совет. в файле /bitrix/php_interface/dbconn.php установить такие константы. 

define( "BX_FILE_PERMISSIONS", 0660 );

define( "BX_DIR_PERMISSIONS", 0775 );

@umask( ~BX_DIR_PERMISSIONS );

@ini_set( "memory_limit", "512M" );

Но этого не потребовалось, т.к. эти значения уже были заданы и по идее всё должно было работать. На одном из форумов посоветовали изменить права доступа и владельца к нужной категории через консоль. Но я посчитал, что если всё до этого работало, то не нужно так далеко залазить, проблема явно была в не в этом, для Вас приведу код в котором можно изменить права доступа к каталогам и файлам через консоль. Говорят может помочь. 

find . -type d -exec chmod 775 { } ;

find . -type f -exec chmod 664 { } ;

В моём случае решение оказалось куда проще.  Все сайты лежали в корневой директории, один из них являлся общим ядром. Но по какой-то причине прекратился общий доступ к «главному сайту» и всё что нужно было сделать — это открыть доступ.

Поскольку сайты на учётных записях закрыты процессы, запущенные на одном сайте, не имеют прав для обращения к каталогам, выходящим за пределы этого сайта. Для доступа из окружения веб-сервера потребуется открыть общий доступ к каталогу. Мой проект находится на beget и эта операция делается очень просто через файловый менеджер.

  1. Зайдите в нужную директорию
  2. В верхней части экрана нажмите на кнопку “Инструменты” -> “Настроить общий доступ к текущей директории”: 
  3. Установите переключатели “Чтение и запись” и “Включая вложенные папки”, нажмите кнопку “Открыть доступ”: 

Если представленные варианты не принесли желаемого результата,  то пишите в комментарии, будет время, что-нибудь придумаем. 

Некоторые пользователи сталкиваются с 0x80070052 (каталог или файл не может быть создан) при попытке скопировать файлы на съемный носитель, такой как флэш-диск или внешний жесткий диск. Сообщается, что в большинстве случаев проблема возникает с фотографиями и видео (особенно с именем длиной более 20 символов).

0x80070052 — Не удается создать каталог или файл.

Если вы используете старую файловую систему для съемного диска (например, FAT16), корневая папка может поддерживать только ограниченное количество файлов в корневой папке. В этом случае вы можете полностью избежать ошибки, вставив файлы в подпапку. Но если вы используете более старый системный формат файла, вы можете подумать о форматировании диска и переходе к более новой итерации, чтобы избежать подобных проблем.

Если вы столкнулись с проблемой при попытке скопировать зашифрованные файлы, это, скорее всего, потому, что ключ шифрования нельзя перемещать рядом с файлом. Чтобы это исправить, убедитесь, что Credential Manager и / или сторонняя утилита, которую вы использовали для шифрования файлов, работают в тот момент, когда вы пытаетесь скопировать файл (ы).

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

Способ 1: копирование файлов в подпапке

Если вы получите эту ошибку при попытке скопировать файлы в корневую папку, вы можете полностью избежать этой проблемы, скопировав файлы в другое место (из корневой папки).

Имейте в виду, что независимо от используемой файловой системы (FAT16, FAT32, NTFS) каждый из них имеет ограничение относительно количества файлов, которое может содержать корневая папка. Например, если вы используете FAT16, корневая папка не может содержать более 128 файлов.

Многие пользователи, которым мы пытаемся устранить ошибку 0x80070052, подтвердили, что проблема больше не возникает после попытки создания папки на съемном диске (вместо вставки файла непосредственно в корневую папку).

Если вы считаете, что этот сценарий может быть применим к вашей текущей ситуации, просто откройте съемный диск, щелкните правой кнопкой мыши пустое место и выберите «Создать»> «Папка». Затем назовите только что созданную папку, затем вставьте в нее файлы, которые вы хотите скопировать (не корневую папку).

Создание папки для копирования файлов из корневой папки

Убедитесь, что вы все еще сталкиваетесь с тем же 0x80070052 (каталог или файл не может быть создан) даже при копировании файлов из корневой папки.

Если проблема не устранена, перейдите к следующему потенциальному исправлению ниже.

Способ 2: форматирование диска в FAT32

В большинстве случаев ошибка 0x80070052 (каталог или файл не может быть создан) произойдет, если файловая система, в которую вы пытаетесь копировать файлы, отформатирована в более старой файловой системе, которая не может обрабатывать файлы такого масштаба — FAT16 является наиболее распространенный формат файловой системы, который, как сообщается, вызывает эту проблему.

Если вы не уверены, какую файловую систему вы используете для внешнего жесткого диска или флэш-накопителя, вы можете узнать, щелкнув правой кнопкой мыши букву диска в проводнике и выбрав «Свойства» в контекстном меню. На экране «Свойства» выберите вкладку «Общие» и выберите «Файловая система» (в разделе «Тип»).

Обнаружение файловой системы, используемой для съемного диска

Если вы обнаружили, что файловая система имеет более старый формат (отличается от FAT32), есть большая вероятность, что вы сможете решить проблему, отформатировав диск в современной файловой системе, такой как FAT32. Следуйте инструкциям ниже для получения инструкций о том, как это сделать:

  1. Откройте проводник и определите съемный носитель, который запускает 0x80070052 при попытке скопировать на него файлы. Как только вы увидите его, щелкните его правой кнопкой мыши и выберите «Формат» в появившемся контекстном меню.Форматирование съемного диска

    Примечание. Если на этом диске хранятся важные файлы, создайте их резервные копии перед началом процедуры форматирования — эта операция (даже если вы используете быстрое форматирование) удалит все данные с диска).

  2. На экране «Формат» убедитесь, что в раскрывающемся меню «Файловая система» установлено значение FAT32. Затем установите размер блока выделения 4096 байт.Настройка утилиты форматирования

    Примечание. Если у вас возникли другие проблемы, связанные с повреждением этого съемного диска, вам может потребоваться снять флажок, связанный с быстрым форматированием. Но имейте в виду, что если вы не выберете быстрое форматирование, операция может занять несколько часов.

  3. Нажмите Start, чтобы запустить операцию и дождаться завершения процесса.
  4. После завершения операции попробуйте снова скопировать те же файлы, которые ранее вызывали ошибку 0x80070052, и посмотрите, решена ли теперь проблема.

Если та же проблема все еще возникает или этот сценарий не применим, перейдите к следующему потенциальному решению ниже.

Способ 3: копирование зашифрованных файлов

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

В случае, если вы использовали встроенный метод шифрования, все, что вам нужно сделать, это убедиться, что служба, связанная с диспетчером учетных данных, установлена ​​в режим «Автоматически» и работает в момент, когда происходит копирование файла.

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

Вот общее пошаговое руководство, которое позволит вам копировать зашифрованные файлы на флэш-накопитель, не обнаруживая 0x80070052 (каталог или файл не может быть создан):

  1. Убедитесь, что сторонняя программа, которую вы использовали для шифрования файлов, запущена.Включение шифрования

    Примечание. Игнорируйте этот шаг, если вы использовали только встроенное шифрование Windows.

  2. Нажмите клавишу Windows + R, чтобы открыть диалоговое окно «Выполнить». Когда вы увидите окно «Выполнить», введите «service.msc» внутри текстового поля и нажмите Enter, чтобы открыть экран «Службы».Чтобы открыть сервисы, наберите «services.msc» в команде RUN.
  3. Как только вы окажетесь в окне «Служба», перейдите в правый раздел и прокрутите вниз список локально установленных служб, пока не найдете диспетчер учетных данных.
  4. После того, как вам удастся найти его, щелкните его правой кнопкой мыши и выберите «Свойства» в появившемся контекстном меню.Доступ к экрану свойств диспетчера учетных данных
  5. На экране «Свойства» диспетчера учетных данных выберите вкладку «Общие» и убедитесь, что для параметра «Тип запуска» установлено значение «Автоматический». Затем нажмите кнопку «Пуск», чтобы убедиться, что служба в данный момент работает, и нажмите «Применить», чтобы сохранить изменения.Настройка диспетчера учетных данных
  6. Скопируйте зашифрованные файлы, которые ранее вызывали 0x80070052 (каталог или файл не может быть создан).

Если та же проблема все еще сохраняется, перейдите к следующему потенциальному решению ниже.

Метод 4: Ремонт диска для повреждения

Как выясняется, эта конкретная проблема также может возникать из-за некоторого типа повреждения, которое вынуждает съемное запоминающее устройство выдавать эту ошибку. В большинстве случаев, которые мы рассмотрели, проблема начала возникать после неожиданного прерывания работы машины.

Проблема довольно распространена для SD-карт, которые используются на камерах (они там работают совершенно нормально), но выдают эту ошибку, когда пользователь пытается скопировать файлы с SD-карты на свой жесткий диск / твердотельный накопитель.

Если этот сценарий применим, имейте в виду, что некоторым затронутым пользователям удалось решить проблему, вызвав восстановление диска из меню «Свойства».

Вот краткое руководство по сканированию и восстановлению диска от любых повреждений, которые могут привести к ошибке 0x80070052:

  1. Откройте проводник, щелкните правой кнопкой мыши съемный диск, с которым вы столкнулись с проблемами, и выберите «Свойства» в контекстном меню.Ремонт диска
  2. На экране «Свойства» выберите «Инструменты» на горизонтальной вкладке вверху. Затем нажмите кнопку «Проверить» в разделе «Проверка ошибок».
  3. Когда вас попросит UAC (Контроль учетных записей), нажмите Да, чтобы предоставить административный доступ.
  4. После перехода к следующему экрану нажмите «Сканировать и восстановить диск» и дождитесь завершения процесса.Сканирование и восстановление съемного диска
  5. После завершения операции извлеките и снова вставьте съемный диск, а затем проверьте, устранена ли проблема при попытке повторного копирования файлов.

Нужно проверить, чтобы у файлов был тот же владелец, что и пользователь Apache. Кроме того, выставить необходимые права на папки и файлы.
chown bitrix:bitrix file.php

Для массовой смены владельца можно использовать:
find . -type f -exec chown bitrix:bitrix {} ;

Вот универсальное решение:

cd /home/bitrix/www
find . -type d -exec chmod 775 {} ;
find . -type f -exec chmod 664 {} ;
find . -type d -exec chown bitrix:bitrix {} ; 
find . -type f -exec chown bitrix:bitrix {} ;

/home/bitrix/www — директория где лежит сайт
bitrix:bitrix — пользователь и группа под кем запущен демон httpd
Пользователя и группу можно подсмотреть в phpinfo.

Понравилась статья? Поделить с друзьями:
  • Ошибка при старте 0x80004005 secret net integrity check service
  • Ошибка при создании файла битрикс
  • Ошибка при ссылке на ячейку с именем
  • Ошибка при создании файла sql
  • Ошибка при составлении налоговой декларации является ли налоговым правонарушением