如何创建自动执行批处理文件以删除特定文件夹中的文件。 场景:我在服务器上有一个文件夹,扫描后所有扫描文档都会进入该文件夹。他们希望在1天后删除扫描的文档。可以创建批处理文件来每天执行此操作吗?
答案 0 :(得分:3)
您可以使用内置的task scheduler - 这可以调用批处理文件,也可以调用任何内容。
(我假设Windows,因为你提到批处理文件)。
答案 1 :(得分:0)
这是一个众所周知的方法,并且在不久前在MSDN中有记录。此技术适用于Windows 95和Windows NT。它的工作原理是因为MS-DOS批处理文件能够自行删除。要测试此技术,请创建一个包含单个命令的小批处理文件:
del %0.bat
批处理文件在运行时会自行删除并发出错误“无法找到批处理文件”。此错误只是一个简单的消息,因此可以安全地忽略它。这本身并不太有用,但是当修改为删除我们的可执行文件时,它解决了我们的问题,尽管是以相当有力的方式。我们的可执行文件将创建一个批处理文件(称为C:\ DelUs.bat),其中包含以下内容:
:Repeat
del "C:\MYDIR\MYPROG.EXE"
if exist "MYPROG.EXE" goto Repeat
rmdir "C:\MYDIR"
del "\DelUS.bat"
此批处理文件反复尝试删除指定的文件,并将连续运行消耗CPU,直到成功为止。删除可执行文件后,批处理文件将自行删除。
可执行文件需要使用CreateProcess生成批处理文件,然后应立即退出。给批处理文件的执行线程一个低优先级是个好主意,这样在原始可执行文件终止之前它不会花费太多的执行时间。
阅读http://www.catch22.net/tuts/self-deleting-executables处的整篇文章,其中包含此技术的完整代码。