安排任务从文件夹中删除内容

时间:2012-04-26 13:57:06

标签: batch-file directory delete-file subdirectory

我想运行一个每晚删除文件夹内容的作业。 该文件夹包含5/6个子文件夹。 是否可以从每个子文件夹中删除但不删除实际文件夹?或者我是否必须为每个文件夹运行任务?

2 个答案:

答案 0 :(得分:5)

创建一个delete.bat文件,将其放入要删除的每个文件夹中:

del "C:\your_folder_name\*.*"

然后安排任务运行delete.bat。或者要循环某个文件夹下的文件夹并删除所有这些文件,您可以使用:

C:\> CD \your_folder_name
C:\> FOR /D /r %G in ("*") DO del "%G" /s /Q

/ s从所有子文件夹中删除,/ q安静地执行(不提示每个文件)%G是子文件夹var

这些都是很好的参考:

http://ss64.com/nt/del.html http://wiki.answers.com/Q/How_do_you_make_a_batch_file_to_delete_all_files_and_folders_in_a_particular_folder

答案 1 :(得分:2)

DEL命令有一个/ S(子文件夹)选项,可以在子文件夹下删除,但保留目录结构。您可以将此功能与AT命令结合使用,以安排每天运行的命令。假设要删除文件的文件夹为C:\tmp,并且您希望每天23:59运行清理,则可以发出以下命令。

AT 23:59 /EVERY:m,t,w,th,f,s,su "del C:\tmp\* /S /Q >> C:\cleanup.log"

它还会将删除的文件名写入C:\cleanup.log,因为没有其他方法可以找出命令的结果。

要获得完整参考,请参阅DELAT