Πώς να διαγράψετε αναδρομικά κατάλογο από τη γραμμή εντολών στα παράθυρα;

Ποιο είναι το ισοδύναμο των windows με το rm -r [όνομα καταλόγου];

Λύση

deltree αν θυμάμαι το DOS μου.


Φαίνεται ότι έχει ενημερωθεί... αυτό είναι που θέλετε:

Αυτό αφαιρεί τον κατάλογο C:\test, με προτροπές :

rmdir c:\test /s

Αυτό κάνει το ίδιο, χωρίς προτροπές :

rmdir c:\test /s /q

Όσον αφορά το sudo μέρος της ερώτησής σας, αν χρειάζεστε περισσότερα προνόμια, μπορείτε πρώτα να ανοίξετε ένα νέο κέλυφος ως άλλος λογαριασμός χρήστη χρησιμοποιώντας την εντολή runas, όπως εδώ:

runas /user:Administrator cmd
rmdir c:\test /s /q
Σχόλια (7)

Αν θέλετε να διαγράψετε μια μακρά και περίπλοκη δομή φακέλων από τη γραμμή εντολών που το RmDir δεν θα αγγίξει και ούτε καν ο explorer δεν μπορεί να εμφανίσει, έχω διαπιστώσει ότι το robocopy μπορεί να είναι πολύ αποτελεσματικό στην αφαίρεση της δομής. Στο παρακάτω παράδειγμα έχουμε μια τεράστια δομή μέσα στο φάκελο administrator, η δομή είναι τόσο βαθιά που τίποτα δεν μπορεί να την αφαιρέσει. Δημιουργούμε έναν νέο άδειο φάκελο που ονομάζεται (παραδόξως!) "νέος φάκελος". Στη συνέχεια χρησιμοποιούμε την εντολή robocopy, λέγοντάς της ότι ο φάκελος προέλευσης είναι "new folder" και ο φάκελος προορισμού είναι "D:\Administrator" με την παράμετρο /MIR που σημαίνει ότι θα καθαρίσει οτιδήποτε δεν βρίσκεται στο φάκελο προέλευσης.

robocopy "D:\new folder" D:\Administrator /MIR

Σε αυτή την περίπτωση οι διαδρομές των φακέλων ήταν τόσο μεγάλες που δεν χωρούσαν καν στο παράθυρο Screen Buffer της γραμμής εντολών, αλλά το Robocopy θα διασχίσει τη δομή και θα αφαιρέσει όλα τα "επιπλέον" αρχεία και φακέλους (δηλαδή οτιδήποτε δεν βρίσκεται στο νέο κενό φάκελο, που είναι τα πάντα).

Σχόλια (1)

Αν έχετε μια πραγματικά πολύ μεγάλη διαδρομή, (όπως έκανα εγώ λόγω σφάλματος του προγράμματος java), ακόμη και το robocopy δεν μπορεί να το κάνει. Κατέβηκε για περίπου 30 δευτερόλεπτα στο μονοπάτι μου και μετά κόλλησε.

Η λύση μου: αν μπορείτε να μετακινήσετε ολόκληρο το μονοπάτι του προβλήματος από έναν φάκελο σε έναν άλλο, τότε μπορείτε να κόψετε recursivly και επανειλημμένα κάποιες σκάλες καταλόγου από την κορυφή.

Αυτό το Batch παίζει pingpong μεταξύ των δύο καταλόγων leer και leer2 και κόβει 8 'βιβλιοθήκες&#39, κάθε φορά. Εάν η διαδρομή σας περιέχει αρχεία, πρέπει να προσθέσετε περαιτέρω εντολές για να τα διαγράψετε.

recurdel.cmd
:loop
move c:\leer\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer2
rd /S /Q c:\leer\libraries
move c:\leer2\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer
rd /S /Q c:\leer2\libraries
GOTO loop
Σχόλια (0)