千家信息网

使用powershell删除指定日期前的文件并添加到计划任务

发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,公司会议视频转换所使用的机器系统为windows,因程序转换失败时会在D盘生成临时文件,日积月累会造成磁盘满,造成新的视频会议录制内容无法转换,为避免此类情况,临时用powershell编写了对应的删
千家信息网最后更新 2024年11月30日使用powershell删除指定日期前的文件并添加到计划任务

公司会议视频转换所使用的机器系统为windows,因程序转换失败时会在D盘生成临时文件,日积月累会造成磁盘满,造成新的视频会议录制内容无法转换,为避免此类情况,临时用powershell编写了对应的删除及添加计划任务脚本。

系统环境:Microsoft Windows Server 2012 R2 Standard

powershell版本:4.0

1. 删除脚本

这里放到了D盘根目录下面,文件名为D:\delete_tmp_files.ps1,删除15天前的文件和目录。

删除脚本delete_tmp_files.ps1内容如下:

#delete old tmp files,just save files in 15 days~$TimeOutDays=15    $filePath="D:\tmp"     $allFiles=get-childitem -path $filePath     foreach ($files in $allFiles)     {          $daypan=((get-date)-$files.lastwritetime).days          if ($daypan -gt $TimeOutDays)          {              remove-item $files.fullname -Recurse -force           }     }

-Recurse表示递归,可以删除子目录

-force 强制删除,可以删除隐藏及只读文件(delete all file force fully,delete all hidden or read-only files)

2. 添加计划任务

选中add_schedule_task.ps1脚本,鼠标右键选择使用PowerShell运行即可。

加入计划任务的powershell脚本add_schedule_task.ps1内容如下:

ipmo PSScheduledJob $T = New-JobTrigger -Weekly -DaysOfWeek 0,1,2,3,4,5,6 -At 2:38AMRegister-ScheduledJob -Name Delete-Tmp-Files -FilePath "D:\delete_tmp_files.ps1" -Trigger $T

-DaysOfWeek: 在周计划任务中,指定每周的哪一天运行,一般与-Weekly配合使用。

周日-->周一-->...-->周六可用对应英文表示,也可用数字表示,对应表如下:

表示方法周日周一周二周三周四周五周六
英文SundayMondayTuesdayWednesdayThursdayFridaySaturday
数字0123456

3.查看计划任务

点击服务器管理器-->任务计划程序-->Microsoft-->Windows-->PowerShell-->ScheduledJobs


参考:

利用powershell删除早于某个指定日期的文件

delete-files-older-than-15-days-using-powershell

HOW TO CREATE SCHEDULE TASK USING POWERSHELL

New-JobTrigger

how-to-delete-a-folder-or-file-using-powershell

0