公司会议视频转换所使用的机器系统为windows,因程序转换失败时会在D盘生成临时文件,日积月累会形成磁盘满,形成新的视频会议录制内容没法转换,为避免此类状况,临时用powershell编写了对应的删除及添加计划任务脚本。shell
系统环境:Microsoft Windows Server 2012 R2 Standard
windows
powershell版本:4.0服务器
这里放到了D盘根目录下面,文件名为D:\delete_tmp_files.ps1
,删除15天前的文件和目录。less
删除脚本delete_tmp_files.ps1
内容以下:ide
#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
表示递归,能够删除子目录code
-force
强制删除,能够删除隐藏及只读文件(delete all file force fully,delete all hidden or read-only files)视频
选中add_schedule_task.ps1
脚本,鼠标右键选择使用PowerShell运行
便可。blog
加入计划任务的powershell脚本add_schedule_task.ps1
内容以下:递归
ipmo PSScheduledJob $T = New-JobTrigger -Weekly -DaysOfWeek 0,1,2,3,4,5,6 -At 2:38AM Register-ScheduledJob -Name Delete-Tmp-Files -FilePath "D:\delete_tmp_files.ps1" -Trigger $T
-DaysOfWeek
: 在周计划任务中,指定每周的哪一天运行,通常与-Weekly
配合使用。ip
周日-->周一-->...-->周六可用对应英文表示,也可用数字表示,对应表以下:
表示方法 | 周日 | 周一 | 周二 | 周三 | 周四 | 周五 | 周六 |
---|---|---|---|---|---|---|---|
英文 | Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
数字 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
点击服务器管理器
-->任务计划程序
-->Microsoft
-->Windows
-->PowerShell
-->ScheduledJobs
参考:
delete-files-older-than-15-days-using-powershell