Это похоже на ответ JdeBP, но не требует никакого внешнего программного обеспечения:
FOR /F "usebackq delims=" %a IN (`DIR /a:l /s /b "C:\dir\with\symlinks"`) DO RMDIR "%a"
При использовании в сценарии замените %a
на %%a
.
Есть ли способ быстро удалить много символических ссылок во многих папках, которые содержат много других файлов? Например, какая-нибудь команда в командной строке (например, удастся удалить весь слинк, созданный в день XX)?
Удалите все объекты, которые являются символической ссылкой, все остальные объекты останутся. Теперь я перемещаюсь только по папкам, выбирая их вручную в проводнике Windows (переставляем все элементы по размеру и символическим ссылкам размером 0 КБ, а клавиши Shift выбираем все -> del) и удаляю медленно, возможно, иногда ошибку sl с другими файлами 0 КБ. Мой младший братан перетаскивает много файлов с помощью правого клика (Link Shell Extension Copyright (C) 1999 - 2008 от Германа Шинагла, уже установленного на ПК и встроенного в Windows Explorer), и он выбирает drop как символическую ссылку, все это становится мусором.
Это похоже на ответ JdeBP, но не требует никакого внешнего программного обеспечения:
FOR /F "usebackq delims=" %a IN (`DIR /a:l /s /b "C:\dir\with\symlinks"`) DO RMDIR "%a"
При использовании в сценарии замените %a
на %%a
.
Поиск символических ссылок можно выполнить так же, как и поиск жестких ссылок : с помощью find
команды, входящей в состав служебного инструментария Microsoft SFUA, которая работает в Подсистеме для приложений на основе Unix :
находить . тип l | xargs rm -
Это простое упражнение с использованием переключателей атрибутов и обычной del
команды :
del / a: l *Можно, конечно, использовать
/s
, /p
и другие параметры в del
команде. И вы можете просмотреть то, что будет удален либо с помощью del
«s /n
опции или просто путем замены dir
на del
. Оба из них действительно находят точки повторной обработки . Символические ссылки являются лишь одной из форм повторных точек. Если у вас есть другие, такие как соединения, вам нужно быть осторожным с тем, к каким частям дерева каталогов вы применяете эти команды. Использование диапазонов дат только для удаления файлов с недавними датами создания ( /[dc…]
) также может быть выгодным.