This is similar to JdeBP's answer, but it doesn't require any external software:
FOR /F "usebackq delims=" %a IN (`DIR /a:l /s /b "C:\dir\with\symlinks"`) DO RMDIR "%a"
When used in a script, substitute %a
with %%a
.
Gibt es eine Möglichkeit, viele symbolische Links in vielen Ordnern, die viele andere Dateien enthalten, schnell zu entfernen? ZB ein Befehl in der Eingabeaufforderung (in der Lage sein, beispielsweise alle Slink zu löschen, die am Tag XX erstellt wurden)?
Entfernen Sie alle Objekte, die symbolisch verknüpft sind, alle anderen Objekte bleiben erhalten. Jetzt navigiere ich nur Ordner für Ordner und wähle sie manuell in Windows Explorer aus (ordne alle Elemente nach Größe und symbolischen Links der Größe 0KB an, und drücke Shift all -> del) und entferne langsam, vielleicht manchmal einen Fehler sl mit anderen 0KB-Dateien. Mein jüngerer Bruder zieht viele Dateien per Rechtsklick (Link Shell Extension Copyright (C) 1999 - 2008 von Hermann Schinagl ist bereits auf einem PC installiert, in Windows Explorer integriert) und er wählt Drop als symbolischen Link aus, alles wurde zu Müll.
This is similar to JdeBP's answer, but it doesn't require any external software:
FOR /F "usebackq delims=" %a IN (`DIR /a:l /s /b "C:\dir\with\symlinks"`) DO RMDIR "%a"
When used in a script, substitute %a
with %%a
.
Finding symbolic links can be done the same ways as finding hard links: using the find
command that is in Microsoft's SFUA utility toolkit, that runs in the Subsystem for Unix-based Applications:
find . -type l|xargs rm --
This is a simple exercise in the use of attribute switches and the ordinary del
command:
del /a:l *You can, of course, use the
/s
, /p
, and other options to the del
command. And you can preview what would be deleted either by using del
's /n
option or simply by substituting dir
for del
. Both of these actually find reparse points. Symbolic links are but one form of reparse points. If you have others, such as junctions, you'll have to be careful about what parts of your directory tree you apply these commands to. Using date ranges to only delete files with recent creation dates (/[dc…]
) might be profitable as well.