Batch file 清除仍由其程序访问的日志文件

Batch file 清除仍由其程序访问的日志文件,batch-file,logging,Batch File,Logging,在运行一些测试时,我会定期清除日志文件,并希望保持该日志的可读性 我有一个批处理文件,它使用下面的命令,每当正在记录的程序关闭时都能工作 del/f*.log 当程序(tomcat服务器)正在运行时,我有一个“访问被拒绝”错误,因为该文件正被另一个服务使用 我不想每次都把雄猫关上又关上。我目前的解决方法是将日志编辑到记事本++,选择全部,删除,保存并关闭记事本++ 有没有更有效的方法?我有几批清洁一天多次,所以我想自动化 有可能为我创建一个.bat吗?我曾想过将记事本++宏导出到批处理文件中,但

在运行一些测试时,我会定期清除日志文件,并希望保持该日志的可读性

我有一个批处理文件,它使用下面的命令,每当正在记录的程序关闭时都能工作

del/f*.log

当程序(tomcat服务器)正在运行时,我有一个“访问被拒绝”错误,因为该文件正被另一个服务使用

我不想每次都把雄猫关上又关上。我目前的解决方法是将日志编辑到记事本++,选择全部,删除,保存并关闭记事本++

有没有更有效的方法?我有几批清洁一天多次,所以我想自动化

有可能为我创建一个.bat吗?我曾想过将记事本++宏导出到批处理文件中,但我的各种研究都没有成功

我试过:

echo关闭
回声。>filename.log


但是结果是一样的=>访问被拒绝,因为文件已经在使用。

如果程序在日志文件上有一个文件锁,我认为在这方面你没有什么可以做的。但是,写入日志文件的是什么?我想您可以调整日志级别,或者让它在达到所需长度后创建另一个日志文件。这样您就可以删除旧文件。请测试
是否回显任何文本>>filename.log
正确地将文本追加到文件中。如果是这样,我可能会通过第三方程序解决您的问题…@Randy:不幸的是,调整日志级别或设置ma长度不起作用,因为我的日志是由我在工作框架中测试的程序创建的,测试过程与我每天运行的测试一样不同@Aacini:我尝试了echo.>“filename.log”,结果创建了第二个文件,其名称为“filename.log”(引号内的引号是文件名的一部分:-p)。然而,由于它是一台公司计算机,我不想安装任何第三方程序。利用notepad++怎么样?因为它已经能够在使用过程中编辑和保存文件了。。。有什么想法吗?到目前为止,我找到的最接近的解决方案是在notepad++中创建一个宏,该宏执行以下操作:
Select all,delete,save,然后关闭文件
。我只是想知道这个宏是否可以由批处理文件触发?