2013-08-30 17 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 

當然,你還可以調節與找到的項目會發生什麼,但也有它的基本功能。

相關問題