Plik wsadowy, aby wyszukać plik, a następnie usuń go i folder nadrzędny

0

Zasadniczo muszę przeszukać foldery wewnątrz C:\Windows\ccmcache i szukaj adobe cc.msi a następnie usuń całą zawartość tego katalogu

To już mam

@echo off 
set dir="c:\windows\ccmcache\" 
FOR /D %dir% %%X IN (adobe cc.msi) DO DEL /S /Q "%%X" 
pause 
exit
Tony
źródło
Dotarłem tak daleko i utknąłem w nieświadomości @echo off set dir = "c: windows ccmcache" FOR / D% dir% %% X IN (adobe cc.msi) DO DEL / S / Q "%% X" wstrzymaj wyjście
Tony

Odpowiedzi:

0

Przed wypróbowaniem go w rzeczywistym folderze, który chcesz usunąć, przetestuj go za pomocą fikcyjnego zestawu danych (przetestowałem, ale możesz również potwierdzić na końcu

@echo off
setlocal EnableDelayedExpansion

set adobe=adobe cc.msi
echo %adobe%
pause
FOR /R M:\windows\ccmcache %%G IN ("*") DO (
set trgt=%%~nG%%~xG
IF /I "!trgt!"=="%adobe%" RMDIR /S /Q %%~pG
)

pause
Dhiwakar Ravikumar
źródło
Dzięki, próbowałem, ale bez powodzenia, w zasadzie, gdy przeprowadzamy wdrożenia za pomocą SCCM i w folderze ccmcache pozostawiają różne foldery oznaczone a, b, 1, 2, 3 itd., Aw folderze różne stworzone przez nas MSI, a więc folder adobe jest 16 GB i trzeba wyczyścić zawartość. Rozumiem używaną składnię i wygląda dobrze, więc nie mogę zobaczyć, gdzie by to poszło nie tak
Tony
Czy skrypt jest uruchamiany z uprawnieniami administratora? Czy działa z innym folderem utworzonym do testowania skryptu?
Dhiwakar Ravikumar
Próbowałem go na moim c: i d: jeździć zarówno z uprawnieniami administratora na lokalnym administratorze i administratora domeny i przenieść go do różnych udziałów itp
Tony
w porządku. Jedyną różnicą jest to, że wspomniany plik to „adobe cc.msi”. Mój skrypt szuka „adobecc.msi”. Zwróć uwagę na brak białych znaków. Proszę o uwzględnienie tego w skrypcie
Dhiwakar Ravikumar
Cześć Dhiwakar, zauważyłem to wcześniej i zmieniłem to. Stworzyłem inny skrypt, który przegląda wszystkie foldery w ccmcache i wykrywa wszystko, co nazywa się adobe cc.msi, ale wydaje mi się, że nie przechowuje zmiennej, a następnie usuwa zawartość katalogu, w którym znajduje się msi.
Tony