我正在编写一个脚本,用于计算文件夹中的SQL备份文件(.bak)。我只是想检查文件的数量是否正确。出于这个原因,我只需要新创建的文件。
$backupfolder = "C:\backup\"
(Get-Childitem -filter *.bak $backupfolder).Count | Where-Object ({ $_.lastwritetime.minutes -lt 20 })
这个工作正常,但如果因为数量不合适我必须再次运行此备份,最后20分钟内的文件数量会发生变化。所以我想有一个解决方案来做到这一点:
在执行脚本时花些时间,然后计算执行脚本后创建的.bak文件的数量。
我尝试使用“get-date”但我没有设法将输出用作变量。
当我使用$Scriptstartingtime = "get-date"
时,它只会保存文字"get-date"
有办法吗?提前谢谢!
time modified > script started...
答案 0 :(得分:3)
简单方法:
在开始时间声明变量:
$Now = get-date
这是一个PowerShell对象,因此您无需担心格式化或其读取方式。
然后,在创建变量时查看更新的内容:
ls | Where-Object {$_.CreationTime -lt $Now} | select Name
当然,你可以调整找到的项目会发生什么,但有基础知识。