Kill – usuwanie plików z dysku

Co zabija polecenie Kill?

Kill to polecenie, którego działanie trudno pomylić z jakimkolwiek innym. Jeśli chcesz pozbyć się jakiegoś pliku to Kill zadziała bezbłędnie. Warto, abym już na początku uprzedził Cię, że to polecenie nie przeniesie pliku do kosza, tylko sprawi, że plik zupełnie zniknie z dysku.

Jedynym argumentem tego polecenia jest ścieżka wskazująca lokalizację pliku. Jeśli podasz samą nazwę pliku to program spróbuje znaleźć ten plik w domyślnym katalogu. Nazwa pliku powinna zawierać również jego rozszerzenie.

Jeśli nie znajdzie pliku o dokładnie takiej nazwie, to pojawi się komunikat File not found.

kill z brakiem pliku

Aby sprawdzić, jaki jest domyślny katalog możesz wpisać polecenie Debug.Print CurDir.

domyślna ścieżka

Oczywiście nie musisz za każdym razem zmieniać domyślnego katalogu, aby usunąć plik. Wystarczy podać pełną ścieżkę do pliku i w ten sposób rozwiążesz temat lokalizacji.

kill z pełną ścieżką

Kill pozwala również na używanie znaków specjalnych tj. „*” (gwiazdka), która zastępuje dowolny ciąg znaków, oraz „?” (znak zapytania) zastępujący pojedynczy znak.

Dzięki temu możesz usunąć jednocześnie kilka plików, których nazwa spełni kryterium. Np. wszystkie pliki o tym samym rozszerzeniu, albo pliki zawierające w nazwie tę samą frazę.

Usuwanie plików „do odczytu”

Warto wiedzieć, że Kill nie pozwala na usuwanie plików tylko do odczytu. Próba usunięcia takiego pliku zwróci błąd „Path/File access error”.

kill przy plikach do odczytu

W takim wypadku przed usunięciem pliku należy go zmodyfikować. Wystarczy użyć polecenia SetAttr z argumentem vbNormal, które zmodyfikuje atrybut pliku. Myślę, że dobrym nawykiem byłoby używanie za każdym razem polecenia SetAttr, przed próbą usunięcia pliku.

zmiana atrybutu pliku

Co by tu usunąć?

Spróbujmy zrobić przykład, w którym z katalogu będę chciał usunąć wszystkie pliki o wybranym rozszerzeniu, ponieważ wiem, że w danym katalogu nie powinny się one znajdywać.

Deklaruję zmienną ścieżka, która przechowa ściężkę do folderu, oraz WybierzFolder, która pozwoli na wskazanie folderu przez użytkownika za pomocą okna dialogowego.

deklaracja zmiennych

Zmienna WybierzFolder musi zostać ustawiona za pomocą funkcji FileDialog (więcej o wyborze folderu z okna dialogowego w artykule FileDialog – Wybór folderu z okna dialogowego)

Wyświetlam okno dialogowe i pobieram adres do zmiennej sciezka.

pokazanie folderu i pobranie sciezki

Dodałem zmienną rozszerzenie, która pozwala użytkownikowi w okienku InputBox wprowadzić tekst, który będzie wykorzystany do wyszukania usuwanych plików.

wybór rozszerzenia

Pozostaje już tylko wprowadzić polecenie Kill, które w połączeniu ze ścieżką, gwiazdkami i rozszerzeniem wprowadzonym przez użytkownika usunie wszystkie spełniające warunek pliki.

kill ze wskazaniem ścieżki i rozszerzenia

Spodobał Ci się artykuł ? Udostępnij go znajomym.

Share on facebook
Share on linkedin
Share on twitter

2 thoughts on “Kill – usuwanie plików z dysku”

    1. Dariusz Skórniewski

      Cześć,
      Niestety nie wiem, czy istnieje możliwość śledzenia zachowania użytkownika w środowisku Windows za pomocą jakiegokolwiek zdarzenia Excela ;/ Musiałby być event Windows.BeforeDelete ale to tylko moja fantazja 🙂

Leave a Comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *