IT

powershell을 사용하여 경로에서 최근에 만든 폴더 가져오기

itgroup 2023. 8. 6. 10:00
반응형

powershell을 사용하여 경로에서 최근에 만든 폴더 가져오기

Windows PowerShell을 사용하여 경로에서 최근에 만든 폴더를 가져오는 방법은 무엇입니까?

나는 길을 가지고 있습니다.C:\temp이 경로에서 가장 최근에 만든 폴더를 찾고 싶습니다.

PowerShell은 주로 파이프라인에서 작동하기 때문에 작성하는 작업의 대부분은 일부 정보를 나타내는 개체를 만들고 필터링 및 조작하는 작업으로 구성됩니다.이 경우 개체는 폴더의 묶음입니다.

  1. 폴더의 모든 항목을 가져옵니다.이렇게 하면 파일과 폴더를 얻을 수 있으므로 2단계가 필요합니다.|라인의 끝에서 파이프라인이 다음 라인에서 계속된다는 신호를 보냅니다. – 에 의해 생성된 객체Get-ChildItem그런 다음 하나씩 다른 명령으로 전달됩니다.

    Get-ChildItem c:\temp |
    
  2. 폴더를 필터링합니다.슬프게도, 정말 우아한 방법은 없습니다."folder"가 아니라 "container"로 표시되는 것에 대해 걱정하지 마십시오. 이러한 명령은 파일 및 폴더뿐만 아니라 다양한 항목에서 작동하므로 명명 시 보다 일반적인 개념이 사용되었습니다.

    Where { $_.PSIsContainer } |
    
  3. 날짜별로 정렬하고 내림차순으로 정렬하여 최신 폴더가 첫 번째 폴더가 되도록 합니다.

    Sort CreationTime -Descending |
    
  4. 첫 번째(가장 새로운) 폴더를 선택합니다.

    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

반응형