Mam potrzebę usunięcia wszystkich folderów bin
i obj
folderów z folderu na komputerze. Tak więc myślę o pliku wsadowym, aby to zrobić, ale nie jestem zaznajomiony z plikiem wsadowym w systemie Windows. Proszę pomóż.
[Edytować]
Po dyskusji z użytkownikiem DMA57361
dotarłem do aktualnego rozwiązania (wciąż mam problem, zobacz nasze komentarze):
Utwórz plik .bat i wklej poniższe polecenie:
start for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s/q "%%d"
LUB
start for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s "%%d"
@ DMA57361: Po uruchomieniu skryptu pojawia się następujący błąd. Dowolny pomysł?
windows-7
command-line
batch-file
Nam G VU
źródło
źródło
for \/d \/r ...
podwójne ukośniki zamiastfor /d /r ...
? I uruchomienie „pełnej” wersji/q
na końcu - jak twierdzę - usuwa wszystko bez ostrzeżenia, więc nie zwraca danych wyjściowych (tzn. Nie mówi ci, kiedy to działa, tylko gdy ma błąd), czy jesteś pewien, że drugi uruchomić powyżej nie działa poprawnie?for / %d in
a niefor /d /r . %d in
- musisz użyć całego polecenia poniżej, każdy bit ma inną funkcję i jest ważny.start
i sprawdź, co się stanie. Nie jest to idealne, ale zastanawiam się, czy to może pomóc.Odpowiedzi:
Odpowiedź na to pytanie została poprzednio omówiona w Stack Overflow, gdzie właśnie wziąłem główny wątek tej odpowiedzi.
Wypróbuj następujące polecenie, możesz je uruchomić od wewnątrz
cmd
:Jeśli potrzebujesz zmienić inne foldery, po prostu dodaj nowe elementy do
(bin,obj)
zestawu w środku polecenia.Spowoduje to usunięcie wszystkiego dopasowanego bez ostrzeżenia i bez używania kosza - więc jeśli chcesz trochę większego bezpieczeństwa, porzuć
/q
rozmowęrd
na końcu, a system powinien pytać cię przed każdym usunięciem.Jeśli zamierzasz uruchomić polecenie z poziomu pliku wsadowego , trzeba będzie zastąpić wszystkie wystąpienia zmiennej
%d
z%%d
, tak jak poniżej:Jak na konwersję miał w pytaniu komentarze
Jeśli polecenie odmawia uruchomienia w pliku wsadowym (nie można go tutaj replikować), spróbuj poprzedzić go poleceniem
start
. Chociaż spowoduje to uruchomienie procesu równoległego z plikiem wsadowym, co może powodować inne problemy, wydaje się, że bardziej prawdopodobne jest prawidłowe działanie.Ponadto, jeśli masz pliki o nazwach
obj
lubbin
w drzewie folderów, nad którym pracuje polecenie, otrzymasz komunikat o błędzie dla każdego napotkanego pliku o pasującej nazwie. Te dopasowane pliki nie są usuwane i nie powinny przeszkadzać w usuwaniu tego, co powinno. Innymi słowy, można je bezpiecznie zignorować.źródło
Te polecenia powinny działać na cmd.
del * .obj
del * .bin
źródło
Po prostu zrób
źródło