2016-07-27 4 views
0

"P0 *"또는 "MININT *"의 이름 지정 규칙이있는 모든 디렉토리 (지정된 경로 내에서 \\servername\logs\failures)를 계산하는 스크립트를 작성하고 있습니다. - "MININT *"라는 폴더에는 지정된 로그 파일이 들어있는 하위 폴더가 있어야합니다. 또한 지난 24 시간 동안 생성 된 폴더 만 계산해야합니다.파일이 포함 된 특정 이름의 디렉토리를 계산하십시오.

여기에 현재 코드가 있습니다. 0 값이 계속 반환되며 이유는 확실하지 않습니다. 나는 시간을 찾고 있었고 재귀를 사용하여 다른 방법을 시도했다, 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

관련 문제