powershell Get-ChildItem 여러 개 주어진 -Filters
다음에 대한 구문이 있습니까?-Filter
의 소유물.Get-ChildItem
여러 개의 필터를 동시에 적용할 수 있도록 허용하시겠습니까? 즉, 아래와 같이 와일드카드를 사용하여 몇 가지 다른 특정 이름의 .dll을 찾고자 합니다.
Get-ChildItem -Path $myPath -Filter "MyProject.Data*.dll", "EntityFramework*.dll"
아니면 Get-ChildItem 호출을 여러 개로 나누어 수행해야 합니까? 이 결과에 대한 파이프링을 하려고 합니다.
그-Filter
매개 변수 인Get-ChildItem
는 단일 문자열/조건 AFAIK만 지원합니다.다음은 문제를 해결하는 두 가지 방법입니다.
사용할 수 있습니다.-Include
일치할 여러 문자열을 허용하는 매개 변수입니다.이것은 보다 느립니다.-Filter
왜냐하면 그것은 cmdlet에서 검색을 하기 때문입니다.-Filter
는 제공 수준(cmdlet이 결과를 받아 처리할 수 있도록 하기 전에)에서 수행됩니다.하지만 쓰기도 쉽고 작업하기도 쉽습니다.
#You have to specify a path to make -Include available, use .\*
Get-ChildItem .\* -Include "MyProject.Data*.dll", "EntityFramework*.dll"
사용할 수도 있습니다.-Filter
모든 DLL을 가져온 다음 where-statement에서 원하는 DLL을 필터링합니다.
Get-ChildItem -Filter "*.dll" .\* | Where-Object { $_.Name -match '^MyProject.Data.*|^EntityFramework.*' }
필터 결과를 다음과 같은 파이프에 결합할 수 있습니다.
@("MyProject.Data*.dll", "EntityFramework*.dll") | %{ Get-ChildItem -File $myPath -Filter $_ }
하나의 값만 사용할 수 있습니다.-Filter
,반면에.-Include
는 ".csv, *.exe"와 같이 여러 값을 허용할 수 있습니다.
둘 다 사용할 수 있습니다.-Filter
그리고.-Include
동시에
Get-ChildItem -Path $myPath -Filter "*.dll" -Include "MyProject.Data*.dll", "EntityFramework*.dll"
언급URL : https://stackoverflow.com/questions/30150930/powershell-get-childitem-given-multiple-filters
'programing' 카테고리의 다른 글
Python에서 syslog에 대한 로깅을 구성하는 방법은 무엇입니까? (0) | 2023.09.08 |
---|---|
XMLHttpRequest 206 부분 컨텐츠 (0) | 2023.09.08 |
Twitter 부트스트랩 드롭다운이 화면 밖으로 바뀝니다. (0) | 2023.09.08 |
문자 입력 요소 내부의 글꼴 멋진 아이콘 (0) | 2023.09.08 |
부트스트랩 모드: 함수가 아닙니다. (0) | 2023.09.08 |