Удаление неудаляемых файлов и папок в windows
Содержание:
- Включите поддержку длинных имён файлов одним кликом
- Имя файла или слишком длинный путь к источнику. Обсуждение на LiveInternet — Российский Сервис Онлайн-Дневников
- Слишком длинный путь к источнику — почему?
- Как удалить файл с длиной пути более 260 символов
- Настройка Windows 10 на обработку длинных путей к файлам
- Используем Total Commander
- Как еще обойти проблему с длинными путями Windows
- Как временно исправить проблему с файлами?
- Используем Total Commander
- Продукты Vault
- Программы для переименования файлов
- Как удалять, копировать, переносить файлы и папки при ошибке с длинными путями
- Почему длина имени файла является проблемой в Windows?
- Описание проблемы длинных путей
- Что делать, если слишком длинный путь к источнику, как удалить такой файл?
- Почему длина имени файла является проблемой в Windows?
- Почему длина имени файла является проблемой в Windows?
- Как переименовать несколько файлов с помощью командной строки
Включите поддержку длинных имён файлов одним кликом
Если вы не хотите погружаться в Реестр самостоятельно, мы создали два файла с настройками реестра, которые вы можете использовать. Один хак удаляет ограничение пути в 260 символов, а другой хак восстанавливает ограничение по умолчанию. Оба сжаты в следующий файл ZIP. Дважды щёлкните тот, который вы хотите использовать, кликните по подсказкам и перезагрузите компьютер.
Эти хаки на самом деле являются просто ключом FileSystem, урезанным до значения LongPathsEnabled, которое мы описали выше, а затем экспортированным в файл .REG. Запуск хака «Remove 260 Character Path Limit.reg» устанавливает значение LongPathsEnabled равным 1. Запуск хака «Restore 260 Character Path Limit (Default).reg» устанавливает значение обратно в .
Имя файла или слишком длинный путь к источнику. Обсуждение на LiveInternet — Российский Сервис Онлайн-Дневников
Вредная операционная система Windows не даёт Вам удалить файл и кричит, что у него «Слишком длинный путь к источнику»? В этой статье я расскажу Вам как легко и просто, без каких-либо программ, победить эту напасть сократив имя файла.
Слишком длинный путь к источнику — почему?
Сразу хочу объяснить, почему появляется такое системное предупреждение и не удаётся произвести с файлом (папкой) элементарные действия копирования или удаления…
В самом уведомлении написан ответ на этот вопрос — файловая система Windows не поддерживает (не понимает) имена исходных файлов длиннее 255 символов.
Но имя файла или папки у Вас короткое, например, «Фото из отпуска»? Дело в том, что «глупая» система воспринимает весь путь к файлу как его имя. Если Ваш файл или папка лежат где-то слишком глубоко в файловом менеджере, то его имя для неё будет выглядеть примерно так…
Вот и собираются символы имени в банду из более 255 штук.
Как удалить неудаляемый файл или папку в таком случае? Очень просто — нужно сократить имя файла (пути) методом переименования вложенных друг в друга папок.
Как удалить файл с длинным именем
Покажу на своём примере как удалить файл с длинным именем у которого, как пишет система, слишком длинный путь к источнику.
Вчера решил почистить свой компьютер от старых резервных копий сайта, а они не захотели удаляться. Как Вы догадались — появилось предупреждение о слишком длинном пути к источнику…
Начиная с самой первой папки в этом длинном пути — переименовал несколько штук…
…и повторил попытку избавиться от файла с теперь более коротким именем — он благополучно отправился в страну удалённых файлов.
Естественно, что новое имя файла (папки) должно состоять из одного символа или цифры, как у меня в примере.
Вот так просто решается проблема удаления файлов или папок с длинным именем. Это не единственный метод конечно. Можно специальными программами удалять или через реестр — я лишь показал ручной способ. У кого-то он займёт минуту всего, а у кого-то и полчаса — решать Вам, как сократить имя файла и слишком длинный путь к источнику.
Слишком длинный путь к источнику — почему?
Сразу хочу объяснить, почему появляется такое системное предупреждение и не удаётся произвести с файлом (папкой) элементарные действия копирования или удаления…
В самом уведомлении написан ответ на этот вопрос — файловая система Windows не поддерживает (не понимает) имена исходных файлов длиннее 255 символов.
Но имя файла или папки у Вас короткое, например, «Фото из отпуска»? Дело в том, что «глупая» система воспринимает весь путь к файлу как его имя. Если Ваш файл или папка лежат где-то слишком глубоко в файловом менеджере, то его имя для неё будет выглядеть примерно так…
Вот и собираются символы имени в банду из более 255 штук.
Как удалить неудаляемый файл или папку в таком случае? Очень просто — нужно сократить имя файла (пути) методом переименования вложенных друг в друга папок.
Как удалить файл с длиной пути более 260 символов
Не секрет, что проводник windows, как и большинство других windows-приложений, включая PowerShell, не умеют работать с объектами файловой системы с глубокой вложенностью папок, длина пути к которым превышает 260 символов. Причем это ограничение существует только на уровне приложений, а сама файловая система NTFS поддерживает пути к файлам вплоть до 32767 символов.
Данное ограничение наложено библиотекой Win32 API, а которой максимальная длина пути составляет 260 символов (MAX_PATH=260). В общем случае путь формируется из следующих элементов: ++[], причем максимальная длина одного каталога/файла в NTFS — 255 символов в Unicode. При использовании юникодных функций API, возможно использовать путь до 32767 символов. Благодаря этому многие сторонние программы (те же популярные файловые менеджеры, например FAR и Total Commander) без каких-либо трудностей обрабатывает файлы/папки, длина пути к которым превышает 260 символов.
Это ограничение также не действует при сетевом доступе пользователей к файлам по протоколу SMB (за счет этого каталожные структуры с длинными путями нередкость именно на файловых серверах с пользовательскими данными). Администратор, обслуживающий данный сервер не может через стандартный интерфейс проводника windows Explorer управлять (удалять/перемещать) файлы с длинными путями. При попытке создать/скопировать файл в такой каталог, появляется ошибка:
Другие программы/диалоговые окна могут сообщать о наличии ограничения по своему.
Согласитесь забавно, что за окном 2014 год, а мы до сих пор говорим об ограничении в 260 символов на максимальную длину пути в windows… Но похоже в ближайшее время никаких кардинальных изменений не предвидится, и даже в совсем свежей windows 10 Technical Preview это ограничение все еще существует.
В этой статье мы покажем, как в windows можно работать с файлами, путь к которым превышает 260 символов. В данном кейсе наша задача – удалить каталог, содержащий файлы с большой длиной пути.
При попытке удалить такой каталог из проводника появляется ошибка:
Powershell также не умеет корректно обрабатывать каталоги и файлы с большими путями, превышающими 260 символов. При попытке удалить каталог с такими файлами (C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath) появляется ошибка:
Remove-Item : The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. At line:1 char:1 + Remove-Item .\verylongpath -Recurse + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : WriteError: (C:\Install\MS S…it\verylongpath:String) , PathTooLongExcepti on
+ FullyQualifiedErrorId : RemoveItemIOError,Microsoft.PowerShell.Commands.RemoveItemCommand
Самый простой вариант (он, собственно, и предлагается в окне с ошибкой) – сократить название родительских папок, уменьшив общую длину пути (но применимо не всегда).
Другой вариант – создать символическую ссылку на часть пути, укоротив тем самым общую длину пути:
Далее файловые операции проводить с каталогом, на который назначена символьная ссылка.
Еще один вариант, напоминающий работу с символьной ссылкой — сопоставить проблемную папку виртуальному диску (в нашем примере X: ), тем самым также сократив длину пути:
Теперь можно работать с данными на диске X:, пути к файлам в котором не будут превышать лимит. После окончания работы можно удалить виртуальный диск:
Но лично мне больше всего для задачи удаления данных в таких ситуациях нравится возможности robocopy.exe, которая поддерживает работу с длинными путями.
С помощью опции /MIR, утилита robocopy может создать полную копию (зеркало) исходного каталога в целевом. И, если исходная папка пустая, все данные в целевой папке также очищаются. Создадим пустую папку C:\Install\test и с помощью аргумента /MIR выполним копирование содержимое тестовой папки в целевую (если имя папки содержит пробелы или кириллические символы, путь нужно взять в кавычки).
После выполнения команды содержимое каталога C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath очищается (заменятся содержимым пустого каталога).
Итак, сегодня мы показали несколько простых трюков, которые можно использовать при работе с папками на файловых серверах, содержащих папки, длина пути к которым превышает лимит 260 символов.
Настройка Windows 10 на обработку длинных путей к файлам
Если вы знаете, что будете часто использовать длинные пути к файлам и длинные имена файлов, вам будет проще заставить Windows работать. Нет смысла использовать PowerShell для выполнения работы каждый день.
Есть два способа сделать это. Один предназначен для пользователей Windows 10 Home, а другой — для пользователей Windows 10 Pro или Enterprise. Эти методы могут работать для Windows 8.1 или более ранней версии, но мы не можем гарантировать это.
Параметры для Windows 10 Home
Чтобы Windows 10 Home принимала длинные пути к файлам, нам нужно открыть редактор реестра . Если вы раньше не работали в редакторе реестра, будьте осторожны. Случайное удаление или изменение здесь может помешать работе Windows полностью.
Всегда делайте резервную копию вашего реестра, прежде чем вносить какие-либо изменения. Узнайте все, что вам нужно знать об этом, в нашем окончательном руководстве по резервному копированию и восстановлению реестра Windows.
Открыв редактор реестра и сделав резервную копию, перейдите в папку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem и найдите ключ LongPathsEnabled.
Дважды щелкните LongPathsEnabled. Убедитесь, что в поле Значение данные: номер 1 указан. Нажмите OK, чтобы подтвердить изменения.
Выйдите из редактора реестра, и теперь вы сможете работать с безумными длинными путями к файлам.
Параметры для Windows 10 Pro или Enterprise
Чтобы позволить Windows 10 Pro или Enterprise использовать длинные пути к файлам, мы будем использовать редактор локальной групповой политики. Это инструмент, который позволяет нам устанавливать политики в отношении работы Windows на компьютере и на уровне пользователей.
Откройте редактор групповой политики, перейдя в меню «Пуск» и набрав gpedit . Лучший результат должен быть Изменить групповую политику. Дважды щелкните по этому.
После открытия редактора групповой политики перейдите к Конфигурация компьютера → Административные шаблоны → Система → Файловая система. Там вы увидите политику включения длинных путей Win32.
Дважды щелкните по нему, чтобы изменить параметр политики. Измените его с «Отключено» на «Включено», затем нажмите кнопку «ОК», чтобы зафиксировать изменение.
Политика может не вступить в силу сразу. Вы можете принудительно обновить групповую политику.
Используем Total Commander
В интернете я обнаружил метод, который позволяет удалить не удаляемые файлы при помощи . Конечно, минус тут в том, что придётся устанавливать дополнительный софт на компьютер, а это не все захотят делать. В любом случае оставлю этот способ здесь, вдруг кто захочет воспользоваться.
Скачиваем и устанавливаем программу. Идём во вкладку «Файл»
щелкаем по разделу «Изменить атрибуты»
. Появляется окошко, где убираем галки со всех атрибутов. Если вверху не стоит галочка напротив пункта «Обрабатывать содержимое каталогов»
— выбираем. Теперь из этой же программы пробуем удалить файл с длинным именем.
Как еще обойти проблему с длинными путями Windows
В мир виртуализации и облаков, многие компании переносят свои файловые ресурсы именно туда. Например в моей компании используют для хранения большинства данных это Google Drive, кто-то диски mail.ru или Яндекса, не нужно этого бояться, главное смотрите, чтобы это подходило с юридической точки зрения но и не нужно лукавить это может стоить дополнительных расходов, но зато ни каких длинных путей, вышедших из строя дисков в RAID, место наращивается на лету, короче одни плюсы.
На этом у меня все, мы разобрали как исправляются ошибки «Слишком длинный целевой путь» или «Слишком длинный конечный путь», с вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Как временно исправить проблему с файлами?
Легкое Исправление
Если вам повезет, вы получите ошибку и точно знаете, какое имя файла вызывает проблему. Или, по крайней мере, где найти файл. Может быть, у вас есть имя файла, которое выглядит примерно так:
Понятно, кто в этом случае виновник. Найдите файл в проводнике Windows или в проводнике, как он называется в Windows 10, нажмите один раз на него, нажмите F2, чтобы переименовать его, и измените это глупое имя файла на более разумное. Задача решена.
Менее простые исправления
Не всегда легко решить эту проблему. Иногда вы не можете изменить имена файлов или каталогов по любой причине.
Следующие решения помогут вам. Их несложно сделать.
Перемещение, удаление или копирование файлов или каталогов с помощью PowerShell Иногда вы получаете сообщение об ошибке при попытке переместить, удалить или скопировать каталоги, где количество символов для пути к файлу превышает 260.
Обратите внимание, что слова каталог и папка являются взаимозаменяемыми. Мы будем использовать «каталог» в будущем
Следующие командлеты PowerShell также можно использовать для файлов.
Возможно, путь к файлу выглядит примерно так:
Этот путь к файлу составляет 280 символов. Поэтому мы не можем скопировать каталог оттуда куда-либо еще с помощью обычного метода копирования-вставки. Мы получаем ошибку Destination Path Too Long.
Давайте предположим, что по какой-то причине мы не можем переименовать каталоги, в которые вложен файл. Что мы делаем?
Когда откроется PowerShell, вы окажетесь в корне своего пользовательского каталога. Продолжайте, предполагая, что C:Usersguymc — ваш пользовательский каталог.
Каталог с именем This находится в каталоге Documents. Чтобы перейти в каталог Documents, мы используем команду cd Documents .
Вы увидите быстрое изменение текущего каталога на C:UsersguymcDocuments. Это хорошо. Мы работаем ближе к каталогам, которые облегчат жизнь.
Копирование каталога с использованием Copy-Item
Мы хотим скопировать каталог This и его содержимое в ThatNewFolder. Давайте используем команду PowerShell Copy-Item с параметрами -Destination и -Recurse.
-Destination сообщает PowerShell, где мы хотим, чтобы копия находилась. -Recurse говорит PowerShell скопировать все элементы внутри к месту назначения. Копирование оставляет оригиналы там, где они есть, и делает все новые в месте назначения.
Переместить каталог с помощью Move-Item
Допустим, мы хотим переместить каталог This, а также все каталоги и файлы в нем, в ThatNewFolder. Перемещение не оставляет оригинал на месте.
Мы можем использовать команду PowerShell Move-Item с параметрами -Path и -Destination. -Path определяет элемент, который мы хотим переместить, и -Destination сообщает PowerShell, где мы хотим его получить.
Команда поместит это в ThatNewFolder. Он также будет перемещать все, что находится внутри этого каталога. Move-Item может использоваться для перемещения файлов или каталогов, и он работает независимо от пути к файлу или длины имени файла.
Чтобы убедиться, что это работает, используйте команду cd ThatNewFolder , чтобы войти в ThatNewFolder. Затем используйте команду dir для вывода списка каталогов в ThatNewFolder. Вы увидите, что этот каталог находится там.
Удалить каталог с помощью Remove-Item
Если мы хотим удалить этот каталог и все в нем, мы используем команду Remove-Item.
Командлет Remove-Item обладает некоторой встроенной безопасностью, которая затрудняет удаление каталога с содержимым внутри него. В нашем примере мы знаем, что хотим удалить все, поэтому мы будем использовать параметры -Recurse, чтобы заставить его удалять все внутри, и -Force, чтобы он делал это, не спрашивая нас, уверены ли мы в каждом элементе внутри.
Имейте в виду! Восстановить что-либо удаленное таким образом было бы чрезвычайно сложно.
Вы можете снова использовать команду dir, чтобы убедиться, что она пропала.
Вот и все
Существуют и другие способы обхода длинных имен файлов и путей к файлам, но то, что мы здесь рассмотрели, — это самые простые и эффективные методы.
У читателя Александра подопечный юзер спросонья удалил важный файл из сетевой папки. Админ, заранее подстеливший соломку, успокоил беднягу и уверенно открыл вчерашние теневые копии. Файл там был, но в нагрузку с ним шли грабли.
Используем Total Commander
В интернете я обнаружил метод, который позволяет удалить не удаляемые файлы при помощи утилиты Total Commander. Конечно, минус тут в том, что придётся устанавливать дополнительный софт на компьютер, а это не все захотят делать. В любом случае оставлю этот способ здесь, вдруг кто захочет воспользоваться.
Скачиваем и устанавливаем программу. Идём во вкладку «Файл» щелкаем по разделу «Изменить атрибуты». Появляется окошко, где убираем галки со всех атрибутов. Если вверху не стоит галочка напротив пункта «Обрабатывать содержимое каталогов» – выбираем. Теперь из этой же программы пробуем удалить файл с длинным именем.
Продукты Vault
Следующая ошибка может возникнуть в качестве всплывающего окна в клиенте Vault во время выполнения определенной команды или в поле «Результаты» в Job Processor Vault:
«Указанный путь, имя файла или оба слишком длинны. Полноценное имя файла должно быть менее 260 символов, а имя каталога должно быть менее 248 символов. »
Это может быть отображено после использования одной из следующих команд Vault:
- Копировать дизайн ,
- переименовывать ,
- Переехать файл / папка
- Обновить вид (локально или в очереди)
- Изменение статуса файла, который запускает задание на создание .dwf
Ограничение операционной системы является причиной такого поведения. Microsoft Windows ограничивает количество символов, которые можно использовать при объединении пути и имени файла.
Увидеть » Максимальное ограничение длины пути ».
При использовании одной из этих команд хранилища файлы копируются в % TEMP% папка на клиенте. Сочетание реального пути и виртуального пути хранилища (к % TEMP% папка), может превышать максимальный предел символов, установленный операционной системой.
Полный путь при выполнении одной из этих команд хранилища следующий:
%TEMP%\\\\См. также раздел
Запросы на усовершенствование в Vault Ideastation для поддержки режима расширения символов окна
Попробуйте следующие предложения, чтобы уменьшить имена файлов и папок:
- Уменьшите длину пути до папки TEMP.
- Повторно добавьте их в хранилище.
1. Уменьшите длину пути к папке TEMP
Если проблема не устраняется после следования советам Microsoft, самый простой способ устранить эту ошибку — уменьшить длину % TEMP% системная переменная.
В Windows по умолчанию % TEMP% переменной задано следующее:
C: \ Documents and Settings \ \ Local Settings \ Temp
Не включая раздел, путь по умолчанию имеет 46 символов.
Можно уменьшить длину этого пути, задав переменные TEMP «Система» и «Пользователь» для использования более короткого пути, такого как C: \ TEMP
Следуй этим шагам:
- В окне панели управления дважды щелкните пункт «Система».
- На вкладке «Дополнительно» выберите «Переменные среды».
- В разделе «Пользовательская переменная для » выберите TEMP, а затем отредактируйте ее для чтения C: \ TEMP ,
- Повторите эти шаги и для системной переменной TEMP.
Альтернативой является сокращение длины пути к папке и имени файла внутри Vault.
2. Повторно добавьте их в Хранилище.
Поскольку сокращение пути невозможно, когда файлы находятся в хранилище, выполните следующие действия:
- Получите последние версии файла,
- Удалите сводчатые файлы и любые длинные имена папок,
- В проводнике Windows уменьшите длину пути, уменьшив имена файлов и папок
- Откройте файлы в авторской программе, разрешив y ссылки на файлы.
- Добавьте их в хранилище из авторской программы.
Программы для переименования файлов
Кроме возможностей пакетного переименования операционных систем, для файлов фотографий есть еще два вида программ, которые могут это сделать. К ним относятся файловые менеджеры и различные редакторы изображений. Такие программы имеют разные возможности, а поэтому их нужно выбирать конкретно для своих целей.
Если на компьютере нет специальных программ для работы с графикой, для пакетного переименования файлов фотографий можно пользоваться файловым менеджером, в котором есть такая функция. Таких программ существует много, но большинство из них имеет английский интерфейс или слабый функционал. Но есть программа, которая нам подходит.
Total Commander – это популярный файловый менеджер, который имеет русский интерфейс и огромные возможности по работе с файлами. Этой программой можно пользоваться для пакетного переименования файлов фотографий в большинстве случаев. Ее особенность состоит в том, что в ней есть много масок для формирования имен файлов (рис.7).
Рис.7 Маски для пакетного переименования файлов в программе Total Commander удобно использовать для фотографий.
Для случаев, когда приходиться часто работать с большим количеством фотографий, удобнее пользоваться специальными программами такими как, например Adobe Bridge или Lightroom. Эти программы рассчитаны на работу с большим количеством фотографий и в них также есть маски пакетного переименования файлов.
Программы с возможностями пакетного переименования файлов имеют удобные функции для работы с фотографиями. О каждой из них нужно говорить отдельно и подробно. Описание функций для переименования файлов фотографий лучших программ, читайте в следующих статьях.
Чтобы быстро находить файлы и бегло ориентироваться в них, недостаточно разложить всё по правильным папкам
Не менее важно присвоить файлам легко читаемые и осмысленные имена. Возиться с каждым из них по отдельности — контрпродуктивно
Поэтому существуют способы группового переименования.
Как удалять, копировать, переносить файлы и папки при ошибке с длинными путями
Разобравшись с тем, как отключить проверку MAX_PATH в приложениях, давайте теперь поймем и научимся решать проблему длинных путей на файловых шарах и просто в проводнике. Классическая ситуация, когда пользователь попытался перенести свой файл или удалить его, создать папку и так далее, и он получает ошибку с пресловутыми длинными путями. Он просит разобраться вас и тут начинаются танцы с бубнами, вы просите его либо переименовать часть пути, или попросить его произвести действия в другом расположении, или просто забить, сказав, что виновата Windows со своими ограничениями, но мы же с вами профессионалы и инженеры, поэтому должны уметь выходить из таких ситуаций.
Почему длина имени файла является проблемой в Windows?
Существует большая история длины файлов, что является проблемой для операционных систем, таких как Windows. Было время, когда вы не могли иметь имена файлов длиннее 8 символов плюс 3-символьное расширение файла. Лучшее, что вы могли сделать, это что-то вроде myresume.doc. Это было ограничение в отношении дизайна файловой системы.
Все стало лучше, когда вышли новые версии Windows. Мы перешли от старой ограниченной файловой системы к так называемой файловой системе новой технологии (NTFS). NTFS привела нас к тому, что имя файла может быть длиной 255 символов, а длина пути к файлу потенциально может достигать 32 767 символов. Так как же мы можем иметь слишком длинные имена файлов?
В Windows есть вещи, известные как системные переменные. Это переменные, от которых зависит функционирование Windows, потому что Windows всегда будет знать, что означают переменные и где они находятся, даже когда мы перемещаем биты и байты повсюду. Системная переменная MAX_PATH — это та, которая ограничивает имена файлов и пути к файлам до 260 символов.
Будучи переменной, вы думаете, мы могли бы изменить это. Нет, мы не должны. Это все равно что выдернуть нитку из свитера. Как только одна системная переменная изменяется, другие системные переменные и зависимые от них компоненты начинают распадаться.
Описание проблемы длинных путей
Тем не менее, файловая система Windows по-прежнему накладывает некоторые ограничения, например, какие символы могут использоваться в именах файлов и общую длину путей. Некоторое время максимальная длина пути составляла 260 символов, но с появлением Windows 10, часть ограничений начала потихоньку уходить, например для приложений и появилась возможность отключить проверку MAX_PATH и использовать длинные пути без префикса \\?\.
Что интересно, значение в 260 символов обусловлено значением MAX_PATH Win32 API. У файловой системы NTFS максимальная длина пути ″немного″ больше и составляет 32767 символа. Для обхода ограничений Win32 API некоторые приложения используют формат UNC, указывая абсолютный путь с префиксом \\?\, например так:
Большинство людей может и не столкнуться с ней, а вот почти каждый системный администратор обязательно это увидит. Тут все дело в том, что в большинстве организаций есть свои сетевые файловые ресурсы, через которые пользователи производят обмен и работу с документами. В какой-то момент люди могут создать такой путь, который будет 258 или 260 символов, попытаются туда скопировать файл, а им выдастся ошибка:
Тоже самое при копировании в папку, так же выскакивает «Слишком длинный целевой путь».
Вот ошибка при извлечении архива в сетевую папку:
Что делать, если слишком длинный путь к источнику, как удалить такой файл?
При наличии файла, который не удаляется из-за длинного имени, решить проблему можно несколькими вариантами. Например, файл вложен в несколько каталогов, допустим, пять или даже десять папок, которые имеют названия по 10-20 знаков, то это и может быть причиной не удаления файла. Дело в том, что Windows не поддерживает любые файлы, в названиях которых больше 260 символов. Если этот предел превышен, то появится ошибка, которую я показал выше. Количество папок, имеющие свои названия и само имя файла в сумме должны давать менее 260 символов. В системе также есть одна особенность – при превышении этого ограничения мы всё-таки можем переименовывать папки. А это значит, что необходимо переименовать все папки на короткое имя, например, буква или цифра.
Такая проблема может появиться не только из-за того, что вы дали такое длинное название. У меня это произошло тогда, когда я решил загрузить себе файлы сайты с сервера и кое-что сделать. Так как файлы уже были не нужны, я удалил весь каталог с файлами сайта, но как оказалось он содержал файл с очень длинным именем, плюс названия папок и это не дало мне всё это удалить.
Метод второй поможет, если с первым не удалось. Дело в том, что не все папки, ведущие к файлу с длинным именем, могут переименовываться и будет вылетать всё так же ошибка файловой системы. Тогда вы можете создать виртуальный диск, используя любую из вложенных папок, ведущих к не удаляемому файлу. Сейчас я покажу, как это сделать.
Открываем командную строку. Для этого нажимаем сочетание Win+R и вводим команду cmd. Можно нажать правой кнопкой мыши по меню Пуск (Либо сочетание клавиш Win+X) и выбрать там командную строку.
Теперь вы пишите такую команду, которая сделает для нас виртуальный диск:
subst буква-диска «путь к файлу или папке – это и будет диском» |
Нужно выбрать такую букву диска, которая не занята другими. Системный раздел обычно указывается буков C, а второй раздел, как D или E, тогда выбираем любую другую.
Путь к папке нужно указывать от диска. Если у вас это вызывает сложность, то откройте ту папку, которая будет выступать в качестве виртуального диска и в проводнике вверху скопируйте путь до неё.
У меня эта команда выглядит следующим образом:
subst Z: «C:\Users\User\Desktop\3333333333333333333333333333333333333333333333333333\1\1\1» |
Когда мы зайдем в Мой компьютер, то там вы должны увидеть диск, с той буквой, которую мы ей присвоили из командной строки. Таким образом, путь к файлу сократиться практически в два раза, а это значит, что общая длинна символов может составлять менее 260 знаков. Теперь вы можете попробовать избавиться от неудаляемого.
Для того, чтобы виртуальный диск удалить нужно ввести команду:
subst БукваДиска /d |
Почему длина имени файла является проблемой в Windows?
Существует большая история длины файлов, что является проблемой для операционных систем, таких как Windows. Было время, когда вы не могли иметь имена файлов длиннее 8 символов плюс 3-символьное расширение файла. Лучшее, что вы могли сделать, это что-то вроде myresume.doc. Это было ограничение в отношении дизайна файловой системы.
Все стало лучше, когда вышли новые версии Windows. Мы перешли от старой ограниченной файловой системы к так называемой файловой системе новой технологии (NTFS). NTFS привела нас к тому, что имя файла может быть длиной 255 символов, а длина пути к файлу потенциально может достигать 32 767 символов. Так как же мы можем иметь слишком длинные имена файлов?
В Windows есть вещи, известные как системные переменные. Это переменные, от которых зависит функционирование Windows, потому что Windows всегда будет знать, что означают переменные и где они находятся, даже когда мы перемещаем биты и байты повсюду. Системная переменная MAX_PATH — это та, которая ограничивает имена файлов и пути к файлам до 260 символов.
Будучи переменной, вы думаете, мы могли бы изменить это. Нет, мы не должны. Это все равно что выдернуть нитку из свитера. Как только одна системная переменная изменяется, другие системные переменные и зависимые от них компоненты начинают распадаться.
Почему длина имени файла является проблемой в Windows?
Существует большая история длины файлов, что является проблемой для операционных систем, таких как Windows. Было время, когда вы не могли иметь имена файлов длиннее 8 символов плюс 3-символьное расширение файла. Лучшее, что вы могли сделать, это что-то вроде myresume.doc. Это было ограничение в отношении дизайна файловой системы.
Все стало лучше, когда вышли новые версии Windows. Мы перешли от старой ограниченной файловой системы к так называемой файловой системе новой технологии (NTFS). NTFS привела нас к тому, что имя файла может быть длиной 255 символов, а длина пути к файлу потенциально может достигать 32 767 символов. Так как же мы можем иметь слишком длинные имена файлов?
В Windows есть вещи, известные как системные переменные. Это переменные, от которых зависит функционирование Windows, потому что Windows всегда будет знать, что означают переменные и где они находятся, даже когда мы перемещаем биты и байты повсюду. Системная переменная MAX_PATH — это та, которая ограничивает имена файлов и пути к файлам до 260 символов.
Будучи переменной, вы думаете, мы могли бы изменить это. Нет, мы не должны. Это все равно что выдернуть нитку из свитера. Как только одна системная переменная изменяется, другие системные переменные и зависимые от них компоненты начинают распадаться.
Как переименовать несколько файлов с помощью командной строки
Если вам удобнее использовать команды, можете использовать командную строку, чтобы изменить имя одного или нескольких файлов.
Переименование одного файла в командной строке
Чтобы переименовать один файл с помощью командной строки, выполните следующие действия:
Шаг 1: Откройте меню Пуск.
Шаг 2: Откройте командную строку.
Шаг 3: Перейдите к папку с файлами. В моем примере я буду работать в папке «Документы»:
1 | cd %USERPROFILE%\Documents |
Шаг 4: Введите следующую команду, чтобы переименовать файл, и нажмите Enter:
ren «СТАРОЕ-ИМЯ-ФАЙЛА.РАСШИРЕНИЕ» «НОВОЕ-ИМЯФАЙЛА.РАСШИРЕНИЕ»
Шаг 5: В команде кавычки требуются, только если название включает пробелы.
Для примера переименуем файл в «летние_каникулы_2019_заметки.txt»:
ren «л_каникулы_19_заметки.txt» «летние_каникулы_2019_заметки.txt»
Переименование нескольких файлов в командной строке
Чтобы переименовать несколько файлов с одинаковой структурой имен с помощью командной строки, выполните следующие действия:
- Откройте Пуск.
- Откройте командную строку.
- Перейдите в папку с файлами, которые необходимо переименовать.
- Введите следующую команду, чтобы переименовать несколько файлов, и нажмите Enter:
ren *.ИМЯ-РАСШИРЕНИЕ ???-ИМЯ-ФАЙЛА.*
В команде звездочка (*) — это подстановочный знак, который задает команду ren для переименования всего с расширением «.jpg». Знак вопроса (?) Также является подстановочным знаком, но он представляет собой символ исходного имени файла.
Этот пример переименовывает все файлы «.jpg», оставляя первые три символа (которые работают как уникальный идентификатор, чтобы избежать дублирования) и добавляет «-горы» к имени файла:
ren *.jpg ???-горы.*
Обрезка нескольких имен файлов
Чтобы сделать длинные имена файлов короче с помощью командной строки, выполните следующие действия:
- Откройте Пуск.
- Откройте командную строку.
- Перейдите в папку с файлами, которые следует переименовать.
- Введите следующую команду, чтобы сделать имена файлов короче, и нажмите Enter:
ren *.* CHARACTER-COUNT.*
В команде звездочка (*) соответствует всем именам файлов и расширениям в папке, а вопросительные знаки (?) Указывают, сколько символов использовать для нового имени файла.
Этот пример обрезает имена файлов длиннее пяти символов:
Если имя файла меньше пяти символов, то имя не изменится. (Если вы хотите увеличить имя файла, добавьте дополнительные знаки вопроса.)
Изменение нескольких имен файлов
Чтобы переименовать часть имени файла в похожих файлах, выполните следующие действия:
- Откройте Пуск.
- Откройте командную строку.
- Перейдите в папку с файлами, которые необходимо переименовать.
- Введите следующую команду, чтобы переименовать часть имени файла, и нажмите Enter:
ren СТАРОЕ-ИМЯ-ФАЙЛА-ЧАСТЬ*.* НОВОЕ-ИМЯФАЙЛА-ЧАСТЬ*.*
Этот пример переименовывает имена файлов, начинающиеся с «летние_каникулы_2019» на «путешествия_2019_»:
ren летние_каникулы_2019_2019*.* путешествия_2019_*.*
Изменение расширения файла
Чтобы изменить расширение файла на другое совместимое расширение, выполните следующие действия.
- Откройте Пуск.
- Откройте командную строку.
- Перейдите в папку с файлами, которые хотите переименовать.
- Введите следующую команду, чтобы изменить расширение файла, и нажмите Enter:
ren *.СТАРОЕ-РАСШИРЕНИЕ *.НОВОЕ-РАСШИРЕНИЕ
Этот пример изменяет расширение с «.txt» на «.doc», совместимое с Microsoft Word для файлов в папке:
ren *.txt *.doc
В этом примере изменяется только расширение одного файла с «.txt» на «.doc»:
ren морские_каникулы_заметки.txt морские_каникулы_заметки.doc
Переименование определенных расширений имен файлов
Инструкции, изложенные выше, переименуют каждый файл в папке. Но, если вы хотите переименовать только группу файлов с определенным форматом, вам нужно пропустить звездочку (*) и указать целевое расширение в команде.
Чтобы переименовать файлы с определенным расширением, выполните следующие действия:
- Откройте Пуск.
- Откройте командную строку.
- Перейдите в папку с файлами, которые нужно переименовать.
- Введите следующую команду, чтобы изменить расширение группы файлов, и нажмите Enter:
ren ИМЯ-ФАЙЛА*.РАСШИРЕНИЕ ИМЯ-ФАЙЛА*.РАСШИРЕНИЕ
В этом примере переименовываются только изображения с расширением «.jpg»:
ren путешествие_2019_*.jpg летнее_путешествие_2019*.jpg
После выполнения этих действий командная строка переименует файлы, используя параметры, указанные в команде.