powershell을 사용하여 경로에서 최근에 만든 폴더 가져오기
Windows PowerShell을 사용하여 경로에서 최근에 만든 폴더를 가져오는 방법은 무엇입니까?
나는 길을 가지고 있습니다.C:\temp
이 경로에서 가장 최근에 만든 폴더를 찾고 싶습니다.
PowerShell은 주로 파이프라인에서 작동하기 때문에 작성하는 작업의 대부분은 일부 정보를 나타내는 개체를 만들고 필터링 및 조작하는 작업으로 구성됩니다.이 경우 개체는 폴더의 묶음입니다.
폴더의 모든 항목을 가져옵니다.이렇게 하면 파일과 폴더를 얻을 수 있으므로 2단계가 필요합니다.
|
라인의 끝에서 파이프라인이 다음 라인에서 계속된다는 신호를 보냅니다. – 에 의해 생성된 객체Get-ChildItem
그런 다음 하나씩 다른 명령으로 전달됩니다.Get-ChildItem c:\temp |
폴더를 필터링합니다.슬프게도, 정말 우아한 방법은 없습니다."folder"가 아니라 "container"로 표시되는 것에 대해 걱정하지 마십시오. 이러한 명령은 파일 및 폴더뿐만 아니라 다양한 항목에서 작동하므로 명명 시 보다 일반적인 개념이 사용되었습니다.
Where { $_.PSIsContainer } |
날짜별로 정렬하고 내림차순으로 정렬하여 최신 폴더가 첫 번째 폴더가 되도록 합니다.
Sort CreationTime -Descending |
첫 번째(가장 새로운) 폴더를 선택합니다.
Select -First 1
간단히 말해서:
gci c:\temp | ? { $_.PSIsContainer } | sort CreationTime -desc | select -f 1
또는
(gci c:\temp | ? { $_.PSIsContainer } | sort CreationTime)[-1]
두 줄 모두 PowerShell의 명령에 대한 기본 별칭을 많이 사용합니다.?
위해서Where-Object
그러나 코드가 실행될 수 있는 다른 컴퓨터에서 별칭이 어떻게 보일지 알 수 없으므로 스크립트에서 전체 이름을 사용해야 합니다.
편집: PowerShell 3에는 다음에 대한 추가 매개 변수가 있습니다.Get-ChildItem
파일 또는 폴더에 대한 필터링을 직접 수행할 수 있으므로 필요하지 않습니다.Where
:
Get-ChildItem -Directory C:\temp | ...
일반적으로 PowerShell에서 개체와 해당 속성에 대해 작업합니다.두 가지 매우 유용한 명령은 다음과 같습니다.Get-Member
그리고 그 가명.gm
그리고.Get-Command
아니면 그냥gcm
.Get-Member
에서는 개체의 속성 및 메서드를 알려줍니다. 이를 위해 다른 것을 파이프에 연결하기만 하면 됩니다.
Get-ChildItem | gm
에서는 파일 및 디렉터리에 있는 속성을 알려 줍니다.
Get-Command
에는 있는 모든 명령 또는 특정 패턴과 일치하는 명령이 나열됩니다.PowerShell 명령어는 동사와 명사를 매우 일관되게 사용하려고 합니다.다음으로 끝나는 모든 명령을 찾음Object
해볼 수 있습니다gcm *-Object
그것들은 거의 모든 것을 다루는 일반적인 명령들입니다.Get-Help ForEach-Object
그러면 특정 명령에 대해 말씀드리겠습니다.ForEach-Object
이 경우에는
언급URL : https://stackoverflow.com/questions/7394648/get-the-latest-created-folder-from-a-path-using-powershell
'IT' 카테고리의 다른 글
SQL Server 2012 스키마의 모든 테이블 이름 나열 (0) | 2023.08.06 |
---|---|
Linux에서 Microsoft SQL Server에 액세스하는 방법에는 어떤 것이 있습니까? (0) | 2023.08.06 |
jQuery: 확인란을 선택하지 않은 경우 테스트 (0) | 2023.08.06 |
스위프트의 연산자 (0) | 2023.08.06 |
응답 유형에 적합한 HttpMessageConverter를 찾을 수 없습니다. (0) | 2023.08.06 |