2013-08-30 16 views
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... 
+2

删除您的调用Get-Date的引号(“):$ x = get-date –

+0

hehe谢谢我只是想通了,现在我尝试像这样使用它:Where-Object({$ _。lastwritetime - gt“$ Scriptstartingtime”})我gue :) – RayofCommand

回答

3

最简单的办法:

在开始时声明一个变量:

$Now = get-date 

这是一个PowerShell的对象,所以你不必担心格式,不然怎么读。

然后,看看有什么较新则在创建变量时:

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

当然,你还可以调节与找到的项目会发生什么,但也有它的基本功能。

相关问题