PDA

Показать полную графическую версию : [решено] Удаление файлов и папок более 255 символов


Страниц : [1] 2

diagnoz_
01-10-2014, 13:24
Доброго времени. Имеется сервер поднятый на Windows Server 2012 R2 Standart. На сервере, имеется не удаляемая, не нужная одна папка . в этой папке множество подпапок и в самом конце файл или папка с очень длинным названием. так вот из-за них не происходит удаление, так как длина имени файла\папки более 255 символов. стандартными средствами проводника разумеется не удаляется. при удалении по Shift+Del выдает окошко, см. вложение. пробовал удалять через robocopy с ключом /MIR, но в консоли так же пишет "Нет доступа". подскажите как избавиться от этой папки? спасибо.

Iska
01-10-2014, 14:10
файл или папка »
Это как понять?

Пробовали ли удалять из-под командного процессора, используя «короткое» имя? Пробовали ли удалять из-под командного процессора, используя префикс «\\?\»?


Детали смотрите в: Naming Files, Paths, and Namespaces (Windows) (http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx).

diagnoz_
01-10-2014, 14:54
Цитата diagnoz_:
и в самом конце файл или папка с очень длинным названием »
в конце пути, например, диск Е:\папка1\папка2\папка3\папка4\...последняя папка10\ в самой последней папке_10 есть или файл с длинным названием типа "ххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх.file s" или же например файл .htm с таким же длиннющим названием. и так далее.

Iska
01-10-2014, 15:04
1. Удалить по короткому имени, наподобие:
rd "E:\1A926~1\2B926~1\3C926~1\4D926~1\101AE8~1"

2. Удалить с использованием префикса:
rd "\\?\E:\папка1\папка2\папка3\папка4\...последняя папка10"

Что пробовали?
диск Е:\ »
Не шутите так больше ;). Нет диска «Е:», есть диск «E:».

diagnoz_
01-10-2014, 15:33
Iska,
удаляю с использованием префикса, пример:
rd "\\?\E:\ffff\Snigir_A\Documents and Settings\folder1\Desktop\Не УДАЛЯТЬ!!!\Оборудование и описание\Измерительное оборудование\Мультиметры\ хххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх.files"
В ответ "Access is Denied" нет доступа. то есть затыкается на самом этом длинноименном файле. естественно на сервере я под админом.
Не смотрите на наличие в пути каталога Documents and Settings, это не та системная папка на разделе с системой. это линки на старые записи.

Папка ffff основная папка, та самая в которой и лежат подпапки, в конце которых злосчастный длинноименный файл.

User001
01-10-2014, 15:43
А переименовать всякие Unlocker (как в ответах (http://answers.microsoft.com/en-us/windows/forum/windows_vista-files/the-source-file-names-are-larger-than-is-supported/438a20a7-a964-4325-b755-8b5d75ddd15b)), сторонние файловые менеджеры пробовали?

diagnoz_
01-10-2014, 15:44
Unlocker »
не берет.

Iska
01-10-2014, 16:05
diagnoz_, ясно. А по короткому имени? И спрошу на всякий случай — права на удаление именно данной папки есть. проверяли?

Ещё вопрос: Вы хотите удалить всё содержимое «E:\ffff», включая её саму, так?

diagnoz_
01-10-2014, 16:09
А по короткому имени? »
сейчас проверю. отходил... :)
Вы хотите удалить всё содержимое «E:\ffff», включая её саму, так? »
да. всю папку и ее содержимое. так как в ней то, что я выше писал. папка лежит просто на логическом разделе, не на сетевом диске.

Iska
01-10-2014, 16:32
diagnoz_, тогда попробуйте, так же — по короткому имени, удалить саму «E:\ffff» посредством RD.

diagnoz_
01-10-2014, 16:47
Iska,
то есть примерно так:
rd "Е:\fff~1"

Верно?

SergAS70
01-10-2014, 17:15
еще как вариант.. в тотал командоре по F6 переместить эту папку в корзину ($Recycle.Bin) или в любую другую. А там уже попробовать убить. Бывает помогает.
или же через live cd

Iska
01-10-2014, 17:18
Iska,
то есть примерно так:
rd "Е:\fff~1"
Верно? »
Навряд ли. Выполните:
dir /x "E:\ffff"
и посмотрите. Скорее всего имена совпадут. И не просто «rd …», а «rd /q …».

Coutty
01-10-2014, 17:29
Я в таких случаях просто переименовывал в короткие названия, а потом удалял. Т.е. переименовываем одну папку (до 1 символа), затем другую и т.д.
Конечно, долго. Но не надо искать специальные команды.

diagnoz_
01-10-2014, 21:18
SergAS70, Iska, Coutty,
Спасибо. попробую и отпишусь.

Iska
01-10-2014, 23:43
diagnoz_, приношу Вам свои извинения; сослепу недоглядел — конечно, не «rd /q …», а «rd /s /q …».

diagnoz_
02-10-2014, 08:14
Iska,
Спасибо. раньше тоже удалял используя :

rd /s /q "E:\ffff"
в ответ - The path E:\ffff\папка\папка\папка\папка\папка\папка\папка\папка\папка\папка\папка\папка\папка is too long.
Вот такой длинный путь ровно с таким количеством папок. И так напротив каждого пути в общей папке ffff.

команда:


dir /x "E:\ffff"
дала ответ:


Volume in drive E is Data
Volume Serial Number is 9E70-5448

Directory of E:\ffff

2.09.2014 07:19 <DIR> .
2.09.2014 07:19 <DIR> ..
1.07.2014 11:51 <DIR> Папка1
2.09.2014 10:17 <DIR> Папка2
1.07.2014 12:44 <DIR> Папка3
0.09.2014 13:19 <DIR> Папка4
0.09.2014 13:21 <DIR> Папка4
3.09.2014 18:23 <DIR> Папка5
0 File(s) 0 bytes
8 Dir(s) 1*495*819*165*696 bytes free

diagnoz_
02-10-2014, 08:41
Iska,
И так. Отчитываюсь. на свежую голову выполнил:
- создал на другом разделе пустую папку delete
- в командном процессоре, используя robocopy и ключ /MIR выполнил:

robocopy /MIR c:\delete E:\ffff
в ответ:

*EXTRA Dir -1 E:\ffff\папка\папка\папка\папка\папка\папка\папка\папка\папка\папка\
*EXTRA Dir -1 E:\ffff\папка1\папка1\папка1\папка1\папка1\папка1\папка1\папка1\папка1\папка1\
*EXTRA Dir -1 E:\ffff\папка2\папка2\папка2\папка2\папка2\папка2\папка2\папка2\папка2\папка2\

и так далее:
------------------------------------------------------------------------------

Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 0 0 0 99
Files : 0 0 0 0 0 23
Bytes : 0 0 0 0 0 9.79 m
Times : 0:00:00 0:00:00 0:00:00 0:00:00
Ended : 2 октября 2014 г. 7:28:27
В итоге пустая папка delete создает зеркало, перезаписывает себя на указанную папку ffff, то есть делает ее пустой. Папка ffff уже пустая.
- затем используя ключ /PURGE выполнил и проверил, что уже нечего удалять :) , команда соответственно выдает синтаксис:


robocopy /PURGE c:\delete E:\ffff
в ответ:


ROBOCOPY :: Robust File Copy for Windows

-----------------------------------------------------------------------

Started : 2 октября 2014 г. 8:06:27
Source : c:\delete\
Dest : E:\ffff\

Files : *.*

Options : *.* /DCOPY:DA /COPY:DAT /PURGE /R:1000000 /W:30

-----------------------------------------------------------------------

0 c:\delete\

-----------------------------------------------------------------------

Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 0 0 0 0
Files : 0 0 0 0 0 0
Bytes : 0 0 0 0 0 0
Times : 0:00:00 0:00:00 0:00:00 0:00:00
Ended : 2 октября 2014 г. 8:06:27
Итого: после проделанного папка ffff на диске Е: стала пустой и свободно затем удалилась ручками. ну и созданную на другом разделе папку delete также удалил. Проблема решена. :)

iwebi
04-12-2016, 17:08
Мне ничего не помогло, даже robocopy, скрин http://screencast.com/t/2N6Bg7Mr
Подскажите еще варианты

x0r
04-12-2016, 18:28
iwebi, попробйй subst на половину пути сделай.
subst M: "%USERPROFILE%\Desctop\1\1\1\1\1\1..." ну и т.д. до середины примерно. чтоб <250 символов
удали половину, затем размонтируй и удали остальное. если нет - то повторить операцию subst на половину пути.




© OSzone.net 2001-2012