2012-10-05 15 views
75

Jak usuwać pliki lub foldery rekurencyjnie w oknach z wiersza poleceń. Znalazłem to rozwiązanie w miejscu, w którym poruszamy się po linii poleceń i uruchamiamy to polecenie. Mam przykładzie podanym folderze z rozszerzeniem .svn plikówUsuwanie plików lub folderów rekurencyjnie w oknach cmd

for /r %R in (.svn) do if exist %R (rd /s /q "%R")

+0

Działa dobrze, pytanie zawiera jedyne działające rozwiązanie :) –

+0

:) Prawdopodobnie po edycji pytania. :) –

Odpowiedz

22

Można to wykorzystać w skrypcie bat:

rd /s /q "c:\folder a" 

Teraz wystarczy zmienić c:\folder od położenia folderu.

+0

To polecenie nie działa i podaje błąd poniżej: * D: \> rd/s/q "D: \ Root a" System nie może znaleźć określonego pliku. * – abhayk

+1

O ile twój katalog naprawdę nie ma " spacja "a" w nazwie, a następnie pomiń tę część. –

12
RMDIR path_to_folder /S 

np. RMDIR "C:\tmp" /S

Pamiętaj, że pojawi się pytanie, czy naprawdę chcesz usunąć folder "C: \ tmp". Łącząc ją z przełącznikiem/Q usunie folder cicho (ex RMDIR "C:\tmp" /S /Q.)

79

proszę wykonać następujące kroki:

  1. Otwórz wiersz polecenia
  2. Przejdź do katalogu wymaganej ścieżki
  3. Give następujący komenda

    del /S *.svn

+2

Nie działa dla mnie, usuwa tylko pliki z bieżącego katalogu. – delphirules

+3

Dziękuję, pracował dla mnie po dodaniu/F flag – vjkumar

54

innych odpowiedzi nie działa dla mnie, ale to zrobił:

del /s /q *.svn 
rmdir /s /q *.svn 

/ q wyłącza Tak/Nie skłoniło

/S środki usunąć plik (i) ze wszystkich podkatalogi.

+0

Myślę, że moje potrzeby są takie same, jak to, co próbujesz zrobić - Próbuję usunąć wszystkie foldery .svn w katalogu projektu i wszystkich podkatalogów. W systemie Windows 2012 ta odpowiedź nie działa dla mnie. Usuwa folder .svn z bieżącego katalogu, ale nie z żadnego katalogu podrzędnego. – Jim

8

do usunięcia plików, napisałem następujący prosty plik wsadowy, który usunięty rekursywnie wszystkie .pdf to:

del /s /q "\\ad1pfrtg001\AppDev\ResultLogs\*.pdf" 
del /s /q "\\ad1pfrtg001\Project\AppData\*.pdf" 

Nawet do lokalnego katalogu możemy użyć go jako:

del /s /q "C:\Project\*.pdf" 

To samo może być zastosowany do usunięcia katalogu, w którym musimy zmienić tylko del z rmdir.

3

Jeśli chcesz usunąć określony rekurencyjnie rozszerzenie, użyj tego:

For /R "C:\Users\Desktop\saleh" %G IN (*.ppt) do del "%G" 
1

Można również zrobić:

del /s /p *.{your extension here} 

/p poprosi dla każdego znalezionego pliku, jeśli jesteś zdenerwowany skasowaniem czegoś, czego nie powinieneś.

0

Aby usunąć folder o podanej nazwie wraz z zawartością od aktualnej lokalizacji:

ls -Recurse <dirname> | del -Force -Recurse -WhatIf 

lub krócej:

ls -r <dirname> | del -Force -r -what 

i pominąć końcowy - Co zrobić, aby usunąć.

Powiązane problemy