清除 Windows 中锁定文件的内容

清除 Windows 中锁定文件的内容

需要从命令提示符中清除已被进程锁定的日志文件的内容。当我尝试执行

echo "" > 文件名

我收到一条错误消息,该文件已被某个进程锁定。

我甚至无法在记事本中打开该文件、清除内容并保存。

目前我正在 notepad++ 中打开文件并快速按 CTRL + a、CTRL+x、CTRL+s :)

有没有办法从 cmd 完成此操作?notepad++ 为何能够处理编辑和保存,而记事本却不能?

答案1

您可以使用 Unlocker 之类的程序来释放锁: http://www.emptyloop.com/unlocker/

答案2

我发现对我来说最好的解决方案是 Powershell> Clear-Content filename.log https://technet.microsoft.com/en-us/library/ee156808.aspx

Clear-Contentcmdlet 可让您清除文件内容而不删除文件本身。例如,假设您运行以下命令:

Clear-Content c:\scripts\test.txt

当您执行该命令时,文件 Test.txt 仍将位于文件夹 C:\Scripts 中;只是文件中不包含任何类型的数据。

Clear-Content 可以使用通配符。此命令将删除 C:\Scripts 中所有文件名以字母 E 开头的文件的内容:

Clear-Content c:\scripts\e*

您不仅限于删除文本文件。以下命令将删除 Excel 电子表格中的所有数据:

Clear-Content c:\scripts\test.xls

此命令将删除 Word 文档 C:\Scripts\Test.doc 的内容:

Clear-Content c:\scripts\test.doc

答案3

锁定的文件无法删除,但可以重命名。这可能是因为 Notepad++ 使用了“安全保存”——创建一个包含新内容的临时文件,然后快速删除原始文件(此步骤可能失败)并将临时文件重命名为原始名称。

相关内容