Effacer le contenu d'un fichier verrouillé dans Windows

4

Nécessité d'effacer le contenu d'un ou de plusieurs fichiers journaux qui sont déjà verrouillés par un processus à partir d'une invite de commande. Quand j'ai essayé de faire

echo ""> nom de fichier

Je reçois une erreur en disant que le fichier est verrouillé par un processus.

Je ne pouvais même pas ouvrir le fichier dans le bloc-notes, effacer le contenu et sauvegarder.

Actuellement, j'ouvre le fichier dans Notepad ++ et j'appuie rapidement sur CTRL + a, CTRL + x, CTRL + s :)

Y at-il un moyen de faire cela à partir de cmd? Comment notepad ++ est-il capable de gérer l’édition et la sauvegarde alors que notepad n’est pas capable de le faire?

Varun
la source

Réponses:

4

J'ai trouvé la meilleure solution pour moi, c'est Powershell> Clear-Content nom_fichier.log https://technet.microsoft.com/en-us/library/ee156808.aspx

La Clear-Contentcmdlet vous permet d'effacer le contenu d'un fichier sans supprimer le fichier lui-même. Par exemple, supposons que vous exécutiez cette commande:

Clear-Content c:\scripts\test.txt

Lorsque vous exécutez cette commande, le fichier Test.txt sera toujours dans le dossier C: \ Scripts; il n'y aura tout simplement aucune donnée d'aucune sorte dans le fichier.

Les caractères génériques peuvent être utilisés avec Clear-Content. Cette commande efface le contenu de tout fichier dans C: \ Scripts dont le nom de fichier commence par la lettre E:

Clear-Content c:\scripts\e*

Vous n'êtes pas limité à l'effacement de fichiers texte uniquement. La commande suivante supprime toutes les données d'une feuille de calcul Excel:

Clear-Content c:\scripts\test.xls

Et cette commande efface le contenu du document Word C: \ Scripts \ Test.doc:

Clear-Content c:\scripts\test.doc

utilisateur537580
la source
1
Êtes-vous sûr que cela fonctionne avec des fichiers verrouillés?
DavidPostill
2

Les fichiers verrouillés ne peuvent pas être supprimés, mais ils peuvent être renommés. Il se peut que Notepad ++ utilise des "sauvegardes sûres" - il crée un fichier temporaire avec le nouveau contenu, puis supprime rapidement l'original (cette étape échoue probablement) et renomme le fichier temporaire en son nom d'origine.

Grawity
la source