Как найти файл с длинным именем

Обновлено: 06.07.2024

сделать dir /s /b > out.txt а затем добавьте направляющую в положение 260

в powershell cmd /c dir /s /b |?

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

У меня тоже написано и опубликовано в блоге о простом сценарии PowerShell для получения длины файлов и каталогов. Он выведет длину и путь к файлу и, возможно, запишет его на консоль. Это не ограничивает отображение файлов, которые находятся только над a определенная длина (простая модификация), но отображает их по длине, поэтому все еще очень легко увидеть, какие пути находятся за вашим порогом. Вот это:

как уточнение простейшего решения, и если вы не можете или не хотите устанавливать Powershell, просто запустите:

и строки длиннее 260 попадут в начало списка. Обратите внимание, что для сортировки параметра столбца (/+n) необходимо добавить 1.

больше объяснений здесь, но имея команду, как:

должны захватить данные, которые вы ищете.

кроме того, как трюк, Windows обходит это ограничение, если путь имеет префикс \?\ (в MSDN)

еще один трюк, если у вас есть корень или пункт назначения, который начинается с длинного пути, возможно SUBST поможем:

первая часть просто повторяет это и подпапки; используя -ErrorVariable AccessDenied означает, что вытолкните оскорбительные элементы в переменную powershell AccessDenied .

затем вы можете сканировать переменную так

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

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

предупреждение: код перезаписывает " longfilepath.txt " в текущем рабочем каталоге. Я знаю, маловероятно, что у вас уже есть, но на всякий случай!

нарочно хотел его в одну строку:

подробно инструкции:

  1. Запустить PowerShell
  2. перейдите в каталог, который вы хотите проверить на длину пути к файлу (C: works)
  3. скопируйте и вставьте код [щелкните правой кнопкой мыши, чтобы вставить в PowerShell, или Alt + Space > E > P]
  4. подождите, пока это не будет сделано, а затем просмотрите файл: cat longfilepath.txt | sort

объяснение:

Out-File longfilepath.txt ; - создать (или перезаписать) пустой файл под названием 'longfilepath.txt'. Двоеточие к отдельная команда.

cmd /c "dir /b /s /a" | – запустите команду dir в PowerShell, /a показать все файлы, включая скрытые файлы. | в трубу.

ForEach-Object < if ($_.length -gt 250) > – для каждой строки (обозначенной как $_), если длина больше 250, добавьте эту строку в файл.

TLPD ("too long path directory") - это программа, которая спасла меня. Очень проста в использовании:

для путей более 260:
вы можете использовать:

пример на 14 символов:
Для просмотра длины путей:

получить пути больше, чем 14:

enter image description here

скриншоты:

для имен файлов больше 10:

enter image description here

скриншоты:

Длинные пути Windows

Описание проблемы длинных путей

Раньше имена файлов в Windows ограничивались форматом 8.3 - всего восемь символов для имени файла и три для расширения. С появлением Windows 95 Microsoft сняла этот предел и позволила использовать гораздо более длинные имена.

Тем не менее, файловая система Windows по-прежнему накладывает некоторые ограничения, например, какие символы могут использоваться в именах файлов и общую длину путей. Некоторое время максимальная длина пути составляла 260 символов, но с появлением Windows 10, часть ограничений начала потихоньку уходить, например для приложений и появилась возможность отключить проверку MAX_PATH и использовать длинные пути без префикса \\?\.

Что интересно, значение в 260 символов обусловлено значением MAX_PATH Win32 API. У файловой системы NTFS максимальная длина пути ″немного″ больше и составляет 32767 символа. Для обхода ограничений Win32 API некоторые приложения используют формат UNC, указывая абсолютный путь с префиксом \\?\, например так:

Хочу отметить, что на период ноября 2020 года и последней версий Windows 10 1909, в ПРОВОДНИКЕ Windows до сих пор есть ограничения в 260 символов, и мы все слышим обещания, что их исправят

Большинство людей может и не столкнуться с ней, а вот почти каждый системный администратор обязательно это увидит. Тут все дело в том, что в большинстве организаций есть свои сетевые файловые ресурсы, через которые пользователи производят обмен и работу с документами. В какой-то момент люди могут создать такой путь, который будет 258 или 260 символов, попытаются туда скопировать файл, а им выдастся ошибка:

Слишком длинный целевой путь: Имена файлов слишком длинны для помещения в эту целевую папку. Попробуйте использовать более короткое имя имя файла или расположение с более коротким путем

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

Тоже самое при копировании в папку, так же выскакивает "Слишком длинный целевой путь".

Слишком длинный целевой путь, решаем за минуту

Вот ошибка при извлечении архива в сетевую папку:

Не удается завершить извлечение. Слишком длинный конечный путь. Переименуйте сжатую ZIP-папку и повторите попытку

Не удается завершить извлечение. Слишком длинный конечный путь. Переименуйте сжатую ZIP-папку и повторите попытку

Методы снимающие ограничения на длину пути в Windows

  • Через групповую или локальную политику Windows (Применимо только к Windows 10 и Windows Server 2016 и выше)
  • Через реестр Windows (Применимо только к Windows 10 и Windows Server 2016 и выше)
  • Через сторонние утилиты 7-Zip, Far, TotalCommander (Применимо ко всем версиям Windows)
  • Использование силинков (символических ссылок) (Применимо ко всем версиям Windows)
  • Через сетевой диск, для укорачивания пути
  • Утилиты xcopy, robocopy

Нюансы длинных путей в приложениях

Есть один нюанс. Этот новый параметр (имеется ввиду та политика и ключ реестра) не обязательно будет работать со всеми существующими приложениями, но он будет работать с большинством. В частности, любые современные приложения должны работать нормально, как и все 64-битные приложения. Старые 32-разрядные приложения должны быть применимы для работы, что на самом деле просто означает, что разработчик указал в файле манифеста приложения, что приложение поддерживает более длинные пути. Большинство популярных 32-битных приложений не должно вызывать проблем. Тем не менее, вы ничем не рискуете, пробуя настройку. Если приложение не работает, единственное, что произойдет, это то, что оно не сможет открывать или сохранять файлы, сохраненные в местах, где полный путь превышает 260 символов.

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

<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
</windowsSettings>
</application>

Как в Windows 10 отключить ограничение на длину пути в 260 символов через политику

Чем примечателен данный метод, так это тем, что неподготовленных пользователей он не вынуждает выполнять команды или производить правку реестра, тут все в графическом виде. Так же если у вас есть домен Active Directory и вы хотите массово убрать ошибки "Слишком длинный целевой путь" или "Слишком длинный конечный путь" в приложениях и запретить им проверять MAX_PATH и использовать длинные пути без префикса \\?\, то групповые политики вам это помогут.

Еще раз напоминаю, что данный метод подойдет и для серверных версий, даже самых современных Windows Server 2019

Покажу для начала, как делать через локальную политику, открываете окно "Выполнить" в котором пишите gpedit.msc.

Хочу отметить, что для Windows 10 Home данный метод работать не будет, там просто нет редактора локальных политик, там придется лезть в реестр Windows

Как в Windows 10 отключить ограничение на длину пути в 260 символов

Далее идем по пути:

Конфигурация компьютера - Административные шаблоны - Система - Файловая система (Computer configuration - Administrative templates - System - Filesystem)

Найдите тут параметр "Включить длинные пути Win32 (Enable Win32 long paths)", по умолчанию он отключен, и я честно не понимаю почему. Активируйте его.

Включить длинные пути Win32

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

Как я писал выше, в проводнике это не даст ни каких эффектов, поэтому вы все так же будите получать ошибку при копировании, создании, удалении "Слишком длинный целевой путь" или "Слишком длинный конечный путь". Ниже я покажу, что делать если нужно что-то там удалить или изменить. Данное ограничение в длине пути теперь не подхватиться на лету всеми приложениями, потребуется перезагрузка.

Включение поддержки длинных путей через реестр

Данный метод ни чуть не сложнее предыдущего и делает все то же самое, включает поддержку длинных путей свыше 256 символов для приложений Windows. Когда вы что-то меняете через редактор политик, по сути меняются настройки в реестре, это нужно помнить и знать. Сейчас я вам покажу какой ключ меняется. Откройте редактор реестра Windows. Перейдите в раздел:

тут вам необходимо найти параметр LongPathEnabled, которому для активации поддержки длинных путей и изменения ограничений в MAX_PATH, нужно задать значение "1". Тут потребуется перезагрузка.

Включение поддержки длинных путей через реестр Windows. LongPathEnabled

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

Ключи реестра для активации MAX_PATH

Еще вы можете сделать такую поддержку и для конкретного пользователя по пути:

Если там нет ключа LongPathsEnabled, то создайте его, тип DWORD (32 бита) и значение 1.

Как в Windows 10 отключить ограничение на длину пути в 260 символов через PowerShell

Не все люди готовы копаться в редакторах и реестрах, им нужно быстрое решение, одним из таких является PowerShell. В оболочке выполните команду для активации параметра "Включить длинные пути Win32 (LongPathEnabled)". Не забываем перезагрузить систему.

Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name LongPathsEnabled -Value 1

Как в Windows 10 отключить ограничение на длину пути в 260 символов через PowerShell

Как удалять, копировать, переносить файлы и папки при ошибке с длинными путями

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

Как в Windows 10 отключить ограничение на длину пути в 260 символов через командную строку

Запустите командную строку в режиме администратора и введите:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1

Как в Windows 10 отключить ограничение на длину пути в 260 символов через командную строку

Обход ограничений длинных путей через 7zFM

Исправляем Слишком длинный путь к источнику через 7zFM

Откройте 7zFM.exe и перейдите в нем в конечную папку вашего пути.

Для создания новой папки нажмите клавишу F7.

Создание папки в 7zFM.exe

Задайте необходимое вам имя, в моем примере это будет "БОльше 260 Microsot".

Указание имени у создаваемой папки в 7zFM.exe

В результате у нас создалась новая папка и заметьте 7zFM не ругнулся на наличие длинных путей, он их игнорирует просто и все.

Успешно созданная папка через 7zFM.exe

Проверяем, что директория доступна через проводник Windows.

Обход ограничений длинных путей через 7zFM

Все прекрасно отображается. Теперь я думаю вы легко сможете переносить, копировать, удалять файлы через 7zFM, когда вам проводник Windows ругается на наличие длинных путей.

Обход ограничений длинных путей через 7zFM

Как обойти ограничение длинных путей через символьную ссылку

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

  • Путь где будет лежать файл символической ссылки - в моем примере C:\короткий путь
  • Длинный путь - C:\Share\WINDOW

Как обойти ограничение длинных путей через символьную ссылку

Нам поможет команда mklink, где ключ /D создает ссылку на каталог

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

Создание символической ссылки для решения проблемы длинных путей

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

Как в Windows 10 отключить ограничение на длину пути в 260 символов через PowerShell

Как обойти ограничение длинных путей через сопоставление subst

subst - простая команда позволяющая связать нужный путь к каталогу с буквой диска. Так же откройте командную строку в режиме администратора и сопоставьте ваш длинный путь с буквой W.

Как обойти ограничение длинных путей через сопоставление subst

У вас в проводнике Windows должен появиться диск с данной буквой, если его нет, то прочитайте статью "Не появляется диск после команды subst" или просто в проводнике вбейте W:\ и нажмите Enter.

Как устранить проблему длинных путей Windows

Как обойти ограничение длинных путей через монтирование сетевого диска

В командной строке используйте команду net use, далее буква диска, которую мы присваиваем и в самом конце путь:

Создание сетевого диска ведущего на длинный путь Windows

Как видим все прекрасно отработало и диск появился.

Как обойти ограничение длинных путей через монтирование сетевого диска

Использование утилит Far или Total Commander

После включения параметра "Включить длинные пути Win32" данные утилиты в 100% случаев помог вам произвести любые действия с папками или файлами на любом длинном пути в системе Windows. Откройте Total Commander и создайте для примера папку в каталоге с длинным путем, напоминаю для этого нужно нажать F7.

Использование утилит Far или Total Commander

Как видите все прекрасно создается, удаляется или копируется при желании.


Список имен файлов без имен папок и скрытых файлов
Здравствуйте Я пытаюсь вывести список имен файлов в текущей папке без отображения имен папок и.

Цикл по чтению имен файлов, созданию папок и переносу файлов
Добрый день, Задача: читать папку с файлами, затем вычленять из имени файла часть (дату).

Поиск длинных имен и замена их на короткие с датой изменения в конце
здравствуйте. у меня проблема такая. изза длинных имен пользовательских файлов и папок не могу.


Проверка имен файлов по именам папок
Добрый день. Помогите решить задачу с помощью батфайла Есть структура из определенного.

Не совсем понятны манипуляции с обрезанием длины значения переменной, а затем вывод полного значения.
Но проблема, скорее не в отрезании, а вот здесь:
Но выводить лучше таки отрезанное значение, т.е. "echo !iStr!", а иначе бессмыслица какая-то получается. Правда отрезается у Вас всё,в том числе и расширение файла.
Вы лучше опишите, что хочется получить в итоге, тогда и подсказка будет точнее.

обрезает 256 символов вначале строки, может у вас строки короче и обрезается все? Попробуйте вместо 256 - 1.

Добавлено через 59 секунд
Хотя реально глупо как-то составлен код.

есть сетевая шара в ней есть длинные пути ( путь вложенных папок + имя файла> 256 символом) хотел собрать такие папки и файлы в лог фаил. В текущей реализации в лог попадаю все файлы.

Вам надо посчитать длину строки (строка у Вас присвоена в значение переменной), вот здесь можно посмотреть, как это сделать (там есть разные варианты, но лично я бы предпочел с использованием powershell) и потом уже сравнивать с требуемым числом в условном блоке (операторы сравнения смотреть в: "if /?") и в зависимости от результата выводить то, что требуется в лог.

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

Добавлено через 4 часа 43 минуты
Вот, такой вариант:

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

почему то есть ложные срабатывания вот результат лога

обратив внимание что скрипт не любит дополнительных точек в названии файла

Добавлено через 48 минут

Да проблема в том что не срабатывает условия по определению нулевого отрезка.

Но выводить лучше таки отрезанное значение, т.е. "echo !iStr!", а иначе бессмыслица какая-то получается. Правда отрезается у Вас всё,в том числе и расширение файла.

Нужно выводить "!iStr!" - путь, отрезанное значение получается то что больше заданной длинны и не несет информации о пути.

надо так:
Windows Batch fileВыделить код
1
2
if defined iStr (
. условие определение нулевого отрезка не срабатывает.(( Пару полных, реальных строк, а не из лога приведите, на которых скрипт спотыкается. P:\Объекты\Объекты В Работе\Объекты В Работе - 01 ЛОТЫ\01-60-01-15-114-6-ПИР ТП 1993
полная структура каталога в архиве отрезанное значение получается то что больше заданной длинны и не несет информации о пути. А, ну да. Вам ведь в лог нужен полный путь. Тогда из Вашего кода, для вывода лога, оставьте только это:

и именно так, как у меня написано.
т.е. получиться вывод в лог, если переменная iStr непустая. А непустая она может быть, при таком коде, только если в строке символов больше чем %MaxLen%.

Добавлено через 48 минут
йкус,
Так, понятно, в моем скрипте ошибка была. Сравниваем числа, а не текст, поэтому необходимо заменить вот эту строку:

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

Существует много способов 'укоротить' имена,
можно, например, получить из полного пути файла MD5-сумму,
сделать из этой суммы файл, являющийся символической ссылкой и отдать убогой программе, то есть из
этих развесистых путей:


получатся вот такие изящные файлики-ссылки одной длины:
Существует много способов 'укоротить' имена,
можно, например, получить из полного пути файла MD5-сумму,
сделать из этой суммы файл, являющийся символической ссылкой и отдать убогой программе, то есть из
этих развесистых путей:

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

Добавлено через 2 минуты
YuS_2
скрипт падает при наличии дополнительной точки в имени файла.

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

Поиск файлов по списку имён и по заданным расширениям с выводом полных имён найденных в текстовый файл
Доброго времени суток! Стоит задача сделать батник. Для поиска файлов по списку имён (кириллица).


Переименование файлов в папках с добавлением к именам этих файлов имён этих папок
Есть 4 папки с архивом записей с камеры видеонаблюдения с именами 13 14 15 16. В каждой папке.

Обработка длинных имен приаттаченных к электронному письму файлов
Добрый день! Через JAVA из базы Oracle обрабатываю приходящие письма и считываю в базу информацию.

Копирование имен папок и файлов
Всем привет! В одной директории(test), находиться множество папок, файлов(a,b,c. z).


Запись имен всех папок и файлов из выбранной директории в блокнот
Здравствуйте. Мне нужно чтобы из выбранной директории названия всех папок и файлов записывались в.

Выбор нескольких файлов из разных папок и запись имен в ListBox
Здравствуйте, возникла такая проблема, добавлюю файлы с разных директорий в ListBox, которые в.

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

Будем надеяться, что вы столкнетесь только с набором легких исправлений, но мы подготовим вас к менее легким, гарантированно исправным исправлениям.


Почему длина имени файла даже проблема в Windows?

Существует длинная история длин файлов, что является проблемой для операционных систем, таких как Windows. Было время, когда вы не могли иметь имена файлов длиннее 8 символов плюс 3-символьное расширение файла. Лучшее, что вы могли сделать, это что-то вроде myresume.doc. Это было ограничение в отношении дизайна файловой системы.

Все стало лучше, когда вышли новые версии Windows. Мы перешли от старой ограниченной файловой системы к так называемой файловой системе новой технологии (NTFS). NTFS привела нас к тому, что имя файла может быть длиной 255 символов, а длина пути к файлу потенциально может достигать 32 767 символов. Так как же мы можем иметь слишком длинные имена файлов?


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

Как мы это исправим?

Легкое Исправление

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

C: User guymc Documents Мои резюме резюме с именами на долгие годы, когда возникают проблемы, и они становятся частью нашего творчества.

Понятно, кто в этом случае преступник. Найдите файл в проводнике Windows или в проводнике, как он вызывается в Windows 10, нажмите один раз на него, нажмите F2, чтобы переименовать его, и измените это глупое имя файла на более разумное. Задача решена.

Менее простые исправления

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

Следующие решения помогут вам. Их не сложно сделать.

Перемещение, удаление или копирование файлов или каталогов с помощью PowerShell

Обратите внимание, что слова каталог и папка являются взаимозаменяемыми. Мы будем использовать «каталог» в будущем. Следующие командлеты PowerShell также можно использовать для файлов.

Возможно, путь к файлу выглядит примерно так:

C: Users guymc Documents Это Is Точно Параметр Precise Directory Путь Это I Потребность К Have К Keep My Files Рассортировано В А Маннер Это ДАЕТ Sense К Me Так Lets Притворись В этом Is An Actual Filepath что вы Might Также Have на Ваш Windows компьютер А не Over Think It Document.docx

Этот путь к файлу составляет 280 символов. Поэтому мы не можем скопировать каталог оттуда куда-либо еще с помощью обычного метода копирования-вставки. Мы получаем ошибку Destination Path Too Long.


Давайте предположим, что по какой-то причине мы не можем переименовать каталоги, в которые вложен файл. Что мы делаем?

Каталог с именем This находится внутри каталога Documents. Чтобы перейти в каталог Documents, мы используем команду DOS cd Documents.


Вы увидите быстрое изменение C: Users guymc Documents. Это хорошо. Мы работаем ближе к каталогам, которые облегчат жизнь.

Копирование каталога с использованием Copy-Item

Мы хотим скопировать каталог This и его содержимое в ThatNewFolder. Давайте используем командлет PowerShell Copy-Item с параметрами -Destination и -Recurse.

-Предназначение сообщает PowerShell, где мы хотим, чтобы копия находилась. -Рекурс говорит PowerShell скопировать все элементы внутри к месту назначения. Копирование оставляет оригиналы там, где они есть, и делает все новые в месте назначения.

Copy-Item This -Destination ThatNewFolder -Recurse


Переместить каталог с помощью Move-Item

Допустим, мы хотим переместить каталог This, а также все каталоги и файлы в нем в ThatNewFolder. Перемещение не оставляет оригинал на месте.

Мы можем использовать командлет PowerShell Move-Item с параметрами -Path и -Destination. -Path определяет элемент, который мы хотим переместить, и -Destination сообщает PowerShell, где мы хотим его получить.

Командлет поместит это в ThatNewFolder. Он также будет перемещать все, что находится внутри этого каталога. Move-Item может использоваться для перемещения файлов или каталогов, и он работает независимо от пути к файлу или длины имени файла.

Move-Item -Path This -Destination ThatNewFolder


Чтобы убедиться, что это работает, используйте команду cd ThatNewFolder, чтобы войти в ThatNewFolder. Затем используйте команду dir для вывода списка каталогов в ThatNewFolder. Вы увидите, что этот каталог находится там.


Удалить каталог с помощью Remove-Item

Если мы хотим удалить этот каталог и все в нем, мы используем командлет Remove-Item.

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

Имейте в виду! Восстановить что-либо удаленное таким образом было бы чрезвычайно сложно. Вы можете попробовать методы в Как восстановить случайно удаленные файлы, но не ожидайте многого.

Remove-Item This -Recurse -Force


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

Заставьте Windows 10 принимать длинные пути к файлам

Если вы знаете, что будете часто использовать длинные пути к файлам и длинные имена файлов, вам будет проще заставить Windows работать. Нет смысла использовать PowerShell для выполнения работы каждый день.

Заставьте 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».


Дважды щелкните по нему, чтобы изменить параметр политики. Измените его с «Отключено» на «Включено», затем нажмите кнопку «ОК» для подтверждения изменения.


Политика может не вступить в силу сразу. Вы можете принудительно обновить групповую политику.

Это оно

Читайте также: