0

我正在编写一个脚本,用于计算文件夹中的 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...
4

1 回答 1

3

简单的方法:

在开始时声明一个变量:

$Now = get-date

这是一个 PowerShell 对象,因此您无需担心格式或读取方式。

然后,查看创建变量时更新的内容:

ls | Where-Object {$_.CreationTime -lt $Now} | select Name

当然,您可以调整找到的项目所发生的事情,但这是它的基础。

于 2013-08-30T14:40:39.997 回答