? $_ -gt 3
테스트가 $ True로 평가 때마다 -
0,1,2,3,4,5 | Where { $_ -gt 3 }
이
는 뚫을 3보다 큰 일을
3
와 파이프 라인 (
$_
)에서 수신 번호를 비교하실 수 있습니다.
0,1,2,3,4,5 | where { $_ }
이 비교 대상 아무것도 없다 -이 경우에는, 그것은 casts the value to boolean - 'truthy' or 'falsey' 모든 것을 'truthy이'를 통해 얻을 수 있습니다. 0은 삭제되고 나머지는 허용됩니다. {}
없이
Get-ChildItem | where Name -eq 'test.txt'
는 Name
(이 경우 파일 이름에) 파이프 라인을 통해 오는 물건의 속성이다 기대와 'TEST.TXT'에 대해 사람들을 비교하는 구문입니다 만 파일 개체 수 있습니다 그 이름으로 끝내야 해. 이 경우
Get-ChildItem | where Length
, 그것은을 찾고 속성이 길이 (파일 크기)이며, 주어진 어떤 비교가없는, 그래서 일을 다시의 이전에서 일을 "true/false로 캐스팅". 이 경우 일부 내용 (길이가 0이 아닌) 만있는 파일 만 표시되고 크기가 0 인 파일은 삭제됩니다.
확인, 즉 코드에 나를 제공 : 어디 주어 없음 {}
과 단 한 가지로
Get-ChildItem | where(get-date).AddDays(-1)
, 속성 이름을로 매개 변수를 기대, 그리고 그 속성 값을 캐스팅한다 true/false를 사용하여 수행 할 작업을 결정합니다. 이것은 "파이프 라인에있는 것들이 ("09/08/2016 14:12:06"
(어제의 현재 시간)) 속성의 값이 인 속성이 'truthy'"인 필터를 말하는 것입니다. 모든 파일에 대해 질문이 $null
이고 Where
이 파이프 라인의 모든 항목을 삭제하도록 어제 (어제 날짜)라는 속성이없는 파일이 없습니다.
짐보 답변으로 당신이 할 수 있고, 필터는 파일의 쓰기 시간에 대한 어제 날짜을 을 비교. 그러나 파일과 폴더의 이름이 날짜 순서로 명명 된 경우 어제의 파일이 무엇인지 알기 때문에 전체 폴더 트리를 통해 다시보고 모든 것을 살펴볼 수 있습니다.
당신이 말을하지 않았지만, 당신이 할 수있는 중 하나와 같은
$yesterday = (Get-Date).AddDays(-1).ToString('MM-dd-yyyy')
Get-ChildItem "d:\receive\bhm\$yesterday\MBVOutputQueriesReport_C12_Custom.html"
# (or whatever date pattern gets you directly to that file)
또는
Get-ChildItem | sort -Property CreationTime -Descending | Select -Skip 1 -First 1
역방향 만든 날짜가 주문한 '마지막으로 한'일을, 얻기 위해 접근한다. 다음 get-date | Get-Member -MemberType Property
과에서
우수 설명. 이와 같은 대답은 특히 초보자를위한 "여기에 하나의 라이너가 있습니다"보다 훨씬 도움이됩니다. – StephenP
설명 및 조언을 주신 모든 분들께 감사드립니다. 나는 계속 독서와 학습을 할 것입니다. – jcarreiro