如何使用批处理脚本清除文件内容

How to clear contents of file with batch script

我有一个自托管的本地网站(在 W10 上),带有一个小聊天应用程序。聊天记录保存到log.html文件,我想用批处理脚本清除它。
我知道在 Ubuntu Shell 上它和 > log.html 一样简单,但在 Windows 上不起作用。
我也找到了 nul > log.html,但是它说 access denied
我也不想使用 powershell 脚本,因为我必须更改执行规则,这需要将近一分钟的时间。

所以,我的问题是:
有没有一种方法可以让我使用不保持打开状态超过 20 秒的批处理脚本清空 log.html
或者,我不介意是否有办法每天使用 php-related 清除它。如果有帮助,我正在 Windows 10v1803 上使用 IIS。

这将删除文件并重新创建它,并立即关闭,这正是您想要的。将 "Desktop" 替换为文件的文件路径,并将此 .bat 放在与 log.html 相同的文件夹中:

@echo off
cd "Desktop"
del "log.html"
echo. 2>log.html

我想你想要的是:

TYPE NUL > log.html

...或可能的替代方案:

BREAK>log.html

CLS 2>log.html

CD.>log.html

从技术上讲,他们不是在清空文件,而是在编写一个覆盖现有文件的新文件。