usuwanie plików w folderze temp zalogowanego usera

0

W ścieżce tempPath zalogowanego użytkownika tworzę sobie folder "myDirectory" i tam w różny sposób trafiają pliki (różny tzn. przez mój program, przez inne programy, ręcznie kopiowane przez użytkownika w systemie). Dlaczego nie mogę usuwać plików, których nie utworzyła sama aplikacja? Każdy plik, który trafił tam inną drogą, bądź poprzez aplikację, która się wykrzaczyła i sama zamknęła, przy próbie wykonania kodu poniżej mam odmowę dostępu do pliku. Jak temu można zaradzić, myślałem, że folder temp pozwala na dowolne usuwanie i tworzenie w nim plików/katalogów.
Chcę to zrobić od strony programistycznej, w aplikacji, tak żeby końcowy użytkownik nie musiał nadawać folderowi, ani plikom żadnych dodatkowych uprawnień.

DirectoryInfo directory = new DirectoryInfo(Path.GetTempPath() + "myDirectory");

foreach (FileInfo file in directory.GetFiles())
 file.Delete();
0

Trochę mnie niepokoi pomysł usuwania plików z tempa, których nie tworzyła twoja aplikacja. Dlaczego chcesz to robić?

0

życie mnie do tego zmusza ;)
a tak na poważnie, to raz wykrzaczyła mi się aplikacja (błąd programistyczny) i zostały po niej pliki. Teoretycznie błąd naprawiony, ale nie chcę, żeby użytkownika coś takiego spotkało. Wszystkich błędów nie jestem w stanie wykryć. Aplikacja trzyma tam tymczasowo pliki na których pracuje użytkownik i ich nazwy czasem się pokrywają, stąd tymczasowe przechowywanie i usuwanie po każdorazowym zakończeniu pracy z plikiem, a nawet po wyłączeniu aplikacji. Niestety, jeśli coś pójdzie nie tak (np. restart komputera) to pliki zostają i przy ponownej próbie pracy na pliku o takiej samej nazwie dostaję komunikat, że już istnieje.
Oczywiście mogę wykrywać taką sytuację i nadawać tymczasowo nową nazwę plikom, ale wolałbym po prostu mieć swój katalog zawsze czysty (pisząc swój mam na myśli temp/mojKatalog, a nie cały temp).

0
tempCleaner napisał(a):

Oczywiście mogę wykrywać taką sytuację i nadawać tymczasowo nową nazwę plikom, ale wolałbym po prostu mieć swój katalog zawsze czysty (pisząc swój mam na myśli temp/mojKatalog, a nie cały temp).

I tak powinieneś zrobić.

A Ty chcesz usuwać pliki, z których inne aplikacje korzystają. Po co? Z zemsty za to, że działają stabilnie i chcesz, żeby zaczęły się teraz krzaczyć?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.