2016-07-27 25 views
0

我目前正在研究一個腳本,該腳本將會計算所有命名約定爲「P0 *」或「MININT *」的目錄(在指定路徑中,\\servername\logs\failures) - 但名爲「MININT *」的文件夾也必須包含一個包含指定日誌文件的子文件夾。此外,它應該只計算在過去24小時內創建的文件夾。使用某個名稱還包含文件的目錄進行計數

這是我目前的代碼,它一直返回一個零值,我不知道爲什麼。我一直在尋找幾個小時,並嘗試不同的方法使用遞歸,Test-Path等無濟於事。

$imagefailures = Get-ChildItem '\\servername\logs\failures' -Directory | 
    Where-Object { 
     ($_.Name -like "P0*") -or 
     (($_.Name -like "MININT*") -and (Test-Path "\WinPE_TS_X_Win\SMSTSLog\Get-Name.log")) -and 
     ($_.LastWriteTime -gt (Get-Date).AddHours(-24)) 
    } | Measure-Object | select -ExpandProperty Count 

回答

2

試試這個:

$imagefailures = Get-ChildItem '\\servername\logs\failures' -Directory | 
    Where-Object { 
     ($_.Name -like "P0*") -or 
     (($_.Name -like "MININT*") -and (Test-Path "$($_.FullName)\WinPE_TS_X_Win\SMSTSLog\Get-Name.log")) -and 
     ($_.LastWriteTime -gt (Get-Date).AddHours(-24))` 
    } | Measure-Object | select -ExpandProperty Count 

的路徑,你正在測試將永遠只是「\ WinPE_TS_X_Win \ SMSTSLog \ GET-Name.log」如果你不把它添加到文件夾的路徑你迭代。

+0

這樣做。我知道它很接近。 :) 非常感謝你的幫助! – LilithGoddess

相關問題