Wyczyść zawartość zablokowanego pliku w systemie Windows

4

Musisz wyczyścić zawartość pliku dziennika, który jest (są) zablokowany przez proces już z wiersza poleceń. Kiedy próbowałem zrobić

echo ""> nazwa pliku

Pojawia się błąd informujący, że plik jest blokowany przez proces.

Nie mogłem nawet otworzyć pliku w notatniku, wyczyścić zawartości i zapisać.

Obecnie otwieram plik w notatniku ++ i szybko naciskam CTRL + a, CTRL + x, CTRL + s :)

Czy istnieje sposób, aby to zrobić z cmd? W jaki sposób notepad ++ może obsługiwać edycję i zapisywanie, podczas gdy notepad nie jest w stanie?

Varun
źródło

Odpowiedzi:

4

Znalazłem najlepsze rozwiązanie dla mnie to Powershell> Clear-Content filename.log https://technet.microsoft.com/en-us/library/ee156808.aspx

Polecenie Clear-Contentcmdlet umożliwia usunięcie zawartości pliku bez usuwania samego pliku. Załóżmy na przykład, że uruchomiłeś to polecenie:

Clear-Content c:\scripts\test.txt

Po wykonaniu tego polecenia plik Test.txt nadal będzie znajdować się w folderze C: \ Scripts; w pliku nie będzie żadnych danych.

Symbole wieloznaczne mogą być używane z Clear-Content. To polecenie usuwa zawartość dowolnego pliku w C: \ Scripts, którego nazwa pliku zaczyna się na literę E:

Clear-Content c:\scripts\e*

Nie ogranicza się do usuwania tylko plików tekstowych. Następujące polecenie usuwa wszystkie dane z arkusza kalkulacyjnego Excel:

Clear-Content c:\scripts\test.xls

A to polecenie usuwa zawartość dokumentu Word C: \ Scripts \ Test.doc:

Clear-Content c:\scripts\test.doc

użytkownik537580
źródło
1
Czy na pewno działa to z zablokowanymi plikami?
DavidPostill
2

Zablokowanych plików nie można usunąć, ale można zmienić ich nazwę. Możliwe, że Notepad ++ używa „bezpiecznych zapisów” - tworząc plik tymczasowy z nową zawartością, a następnie szybko usuwając oryginał (ten krok prawdopodobnie się nie powiedzie) i zmieniając nazwę pliku tymczasowego na pierwotną nazwę.

grawitacja
źródło