Jak szybko usunąć zawartość wielu plików tekstowych w systemie Windows


1

Mam folder z dziennikami.

Ten folder zawiera wiele plików dziennika. Nie mogę usunąć tych plików, ponieważ serwer je zachowuje. Ale mogę usunąć zawartość każdego pliku. Otwieranie każdego pliku i usuwanie zawartości jest bardzo denerwujące.

Czy możesz przedstawić pomysły, które przyspieszą działanie?


2
Jakiego systemu operacyjnego używasz?
aphoria

Chcesz coś takiego for f in *.log; do :>"$f"; done lub odpowiednik Windows.
AFH

Używam systemu operacyjnego Windows
gstackoverflow

Co jest Wnidows OS?
Little Helper

Używam Windows 7
gstackoverflow

Odpowiedzi:


0

Z linii poleceń:

FOR /R C:\YourFolder %f IN (*.LOG) DO TYPE NUL>%f

Lub z pliku wsadowego:

FOR /R C:\YourFolder %%f IN (*.LOG) DO TYPE NUL>%%f

Proces nie może uzyskać dostępu do pliku, ponieważ jest używany przez inny proces.
gstackoverflow

1
Jak usunąć to ręcznie?
aphoria

Otwieram ten plik za pomocą notatnika ++ i usuwam zawartość i zapisuję plik
gstackoverflow

1
Jeśli inny proces ma zablokowany plik, nie jestem pewien, jak możesz go wyczyścić i zapisać.
aphoria

1
Wypróbowałem wiele metod w tym zakresie i wszystkie one wymagają sporo pracy (instalacja oprogramowania lub programowania). Najprostszą odpowiedzią jest uruchomienie w trybie awaryjnym (tylko wiersz polecenia) i powyższe rozwiązania powinny działać. Będzie to dobre dla jednorazowego, choć nie do zrobienia regularnie. Wypróbowałem NP ++ w otwartym pliku do zapisu i otrzymałem błąd, skutecznie taki sam, jak widzieliście, więc nie wiem, jak to działa dla was. O jakich dziennikach mówisz?
AFH

0

Pomyśl, czy plik jest używany, a nie możesz go wyczyścić, a notepad ++ pozwala ci go wyczyścić, dlaczego po prostu nie użyjesz skryptu w Notatniku ++, jak wspomniano @Dhiwakar Ravikumar? Jeśli skrypty nie wchodzą w rachubę i zakładając, że masz sporo plików dziennika, dlaczego nie po prostu otworzyć je wszystkie w Notatniku ++, wybrać pierwszą otwartą kartę i nacisnąć Ctrl + A, następnie klawisz Delete, następnie Ctrl + S, a następnie Ctrl + W? To spowoduje zaznaczenie całego tekstu w pliku, Usuń go, Zapisz plik, a następnie zamknij go, a następnie po prostu wykonaj to samo. (Jak skrypt)


0

Zapisz poniższy kod jako plik wsadowy i uruchom go.

Możesz zaoszczędzić kłopotów z wpisywaniem polecenia za każdym razem :).

Zmiana M:\Newfolder\ & amp; *.txt odzwierciedlać twoją ścieżkę i rozszerzenie pliku dziennika odpowiednio.

@ECHO OFF 
setlocal EnableDelayedExpansion
FOR /R M:\Newfolder\ %%G IN (*.txt) DO (
TYPE nul > %%G
)
pause

AKTUALIZACJA

Możesz spróbować utworzyć makro, aby zautomatyzować to, co chcesz robić.

Sprawdź pierwszą odpowiedź udzieloną przez ellaka tutaj

Otwórz wszystkie pliki dziennika jednocześnie, a następnie uruchom to makro za każdym razem.

Jeśli chcesz zautomatyzować nawet to (otwarcie wszystkich plików dziennika jednocześnie), uruchom poniższy skrypt wsadowy.

@ECHO OFF 
    setlocal EnableDelayedExpansion
    FOR /R M:\Newfolder\ %%G IN (*.txt) DO (
    notepad++.exe %%G
    )
    pause

Więc następnym razem, gdy chcesz wyczyścić pliki dziennika, po prostu 1. Uruchom dostarczony skrypt wsadowy 2. Uruchom makro z Notepad ++

Istnieje sposób na ich uruchomienie z tego samego skryptu, ale wymaga to wtyczek NPPExec, z którymi nie jestem zbyt dobrze zaznajomiony. Daj mi znać, jeśli chcesz tego za pomocą wtyczki lub jeśli powyższe rozwiązanie wystarczy.


Proces nie może uzyskać dostępu do pliku, ponieważ jest używany przez inny proces
gstackoverflow

Oznacza to, że plik jest używany. Nie można wyczyścić zawartości otwartego pliku (w notatniku lub innej aplikacji)
Dhiwakar Ravikumar

W tej chwili mogę otworzyć ten plik za pomocą notatnika ++ i wyczyścić zawartość i zapisać plik
gstackoverflow

1
Myślałem, że celem pytania było uniknięcie tego ręcznie. Spróbuj znaleźć aplikację za pomocą tych dzienników. Zakończ i uruchom skrypt ponownie.
Dhiwakar Ravikumar

Tak, chcę uniknąć ręcznego tworzenia. Serwer aplikacji zachowuje te pliki dzienników. I nie chcę tego powstrzymywać. hotepade ++ pozwala na to
gstackoverflow
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.