PowerShell에서 객체 세는 방법

PowerShell은 방대한 연산자 및 cmdlet을 통해 데이터를 관리하고 조작하는 효과적이고 유연한 방법을 제공합니다.
이러한 연산자 중에서도 Count
연산자와 Measure-Object
cmdlet은 배열이나 컬렉션에 있는 객체의 수를 신속하게 결정하고, 해당 객체의 다양한 속성을 계산할 수 있게 해주는 강력한 도구입니다.
이러한 기능을 활용하면 손쉽게 수치 및 기타 유용한 통계를 검색할 수 있어 PowerShell은 데이터 분석 및 관리에 다재다능한 도구가 됩니다.
이 기사에서는 PowerShell을 사용하여 폴더 내의 파일 수를 세고 기타 필수 카운팅 작업을 수행하는 방법을 시연함으로써 Count
연산자와 Measure-Object
cmdlet의 실제 적용 사례를 탐구합니다.
시스템 관리자든 리소스를 관리하려는 개발자든, 객체를 세고 측정하는 방법을 이해하는 것은 PowerShell 도구 모음에서 유용한 기술입니다.
PowerShell에서 Count
메서드를 사용하여 객체 수 세기
구문:
(PSObject).Count
PowerShell Count
연산자에 접근하기 위해서는 객체를 괄호(()
)로 감싸야 합니다. 그런 다음, 마침표(.
)를 추가한 다음 개수를 가져옵니다.
파일 세기를 위한 Count
연산자 사용
시스템 관리자든 개발자든, 디렉터리 내의 파일 수를 세어야 하는 상황이 있습니다. PowerShell은 Count
연산자를 통해 이 작업을 간소화하여 폴더 내의 파일 수를 신속하게 확인할 수 있도록 합니다. 이 기사에서는 Count
연산자를 사용하여 폴더 내의 파일 수를 세는 방법을 단계별로 탐구합니다.
1단계: 폴더 경로 지정
먼저, 파일을 세고자 하는 폴더의 경로를 지정해야 합니다. "C:\YourFolderPath"
를 실제 폴더 경로로 교체합니다.
$folderPath = "C:\YourFolderPath"
2단계: 파일 검색
다음으로, Get-ChildItem
cmdlet을 사용하여 지정된 폴더 내의 파일을 검색합니다. -File
매개변수는 디렉토리가 아닌 오직 파일만 검색되도록 보장합니다.
$files = Get-ChildItem -Path $folderPath -File
3단계: 파일 수 세기
파일을 검색했으므로 Count
연산자를 사용하여 파일 수를 결정할 수 있습니다.
$fileCount = $files.Count
4단계: 결과 표시
마지막으로, 파일 수를 사용자에게 표시하거나 필요에 따라 스크립트에서 사용할 수 있습니다.
Write-Host "Total files in $folderPath: $fileCount"
완전한 PowerShell 스크립트
폴더 내의 파일 수를 세는 완전한 PowerShell 스크립트는 다음과 같습니다:
# Step 1: Specify the Folder Path
$folderPath = "C:\YourFolderPath"
# Step 2: Retrieve the Files
$files = Get-ChildItem -Path $folderPath -File
# Step 3: Count the Files
$fileCount = $files.Count
# Step 4: Display the Result
Write-Host "Total files in $folderPath: $fileCount"
폴더에서 하위 폴더를 포함하여 파일을 재귀적으로 세기 위한 Count
연산자 사용
폴더와 그 하위 폴더 내의 모든 파일을 세어야 하는 경우는 어떻게 하나요?
아래는 전체 코드입니다.
# Define the folder path
$folderPath = "C:\YourFolderPath"
# Count the files in the folder and subfolders
$fileCount = (Get-ChildItem -Path $folderPath -File -Recurse).Count
# Display the result
Write-Host "Total files in the folder and subfolders: $fileCount"
이제 코드를 단순화하여 각 부분을 자세히 설명해 봅시다:
1. 폴더와 하위 폴더의 파일 수 세기
# Count the files in the folder and subfolders
$fileCount = (Get-ChildItem -Path $folderPath -File -Recurse).Count
여기서는 Get-ChildItem
cmdlet을 사용하여 지정된 폴더와 그 하위 폴더 내의 모든 파일을 검색합니다(-Recurse
). -File
매개변수는 결과에 디렉토리를 제외하고 오직 파일만 포함되게 합니다.
이 명령을 괄호 ( ... )
로 감싸 Count
연산자를 결과에 즉시 적용합니다. 이 연산자는 컬렉션 내의 요소 수를 계산하여 총 파일 수를 제공합니다.
배열 내의 객체 수를 세기 위한 Count
연산자 사용
PowerShell에서 배열 내의 객체 수를 세는 것은 일반적인 작업이며, Count
연산자 덕분에 매우 간단합니다.
이 연산자를 사용하면 배열이나 컬렉션 내의 요소 수를 신속하게 결정할 수 있습니다. 우리는 Count
연산자를 사용하여 문자열 배열의 객체 수를 세는 방법을 소개하겠습니다.
여러 데이터 유형과 함께 작동합니다, 문자열 배열을 포함해서. 다음은 이를 사용하는 방법입니다:
# Create a string array
$stringArray = "Item1", "Item2", "Item3", "Item4"
# Count the objects in the array
$count = $stringArray.Count
# Display the result
Write-Host "Total items in the array: $count"
위 코드에서는 먼저 $stringArray
라는 문자열 배열을 생성한 후, Count
연산자를 사용하여 배열 내 항목 수를 결정합니다. 마지막으로 Write-Host
를 사용하여 개수를 표시합니다.
PowerShell에서 Measure-Object
명령을 사용하여 세기
PowerShell의 Measure-Object
cmdlet은 종종 Measure
라고도 불리며, 항목의 개수를 포함한 객체의 다양한 속성을 계산합니다.
Measure-Object
cmdlet을 사용하여 폴더 내 파일 수 세기
폴더 내의 파일 수를 세기 위해 Measure-Object
cmdlet과 다른 PowerShell 명령을 조합하여 사용할 것입니다.
다음은 Measure-Object
를 사용하여 폴더 내 파일 수를 세는 단계별 가이드입니다:
1단계: 파일 가져오기
파일 수를 세기 위해 Get-ChildItem
cmdlet을 사용하여 지정된 디렉터리 내의 파일 및 폴더 목록을 검색합니다. 기본적으로 이 명령은 하위 폴더도 포함합니다. 명령은 다음과 같습니다:
$fileList = Get-ChildItem -Path $folderPath -File
이 명령에서:
$fileList
는 파일 객체가 들어 있습니다.Measure-Object
는 객체의 속성을 계산합니다..Count
는 객체 수를 검색합니다.
이제 변수 $fileCount
는 지정된 폴더 내 파일 수를 보유합니다.
예제 코드
완전한 PowerShell 스크립트는 다음과 같습니다:
# Step 1: Define the folder path
$folderPath = "C:\YourFolderPath"
# Step 2: Get the files
$fileList = Get-ChildItem -Path $folderPath -File
# Step 3: Measure the object count
$fileCount = ($fileList | Measure-Object).Count
# Step 4: Display the result
Write-Host "Number of files in $folderPath: $fileCount"
"C:\YourFolderPath"
를 실제 폴더 경로로 교체하고, 스크립트를 실행하여 파일 수를 세십시오.
하위 폴더에서 파일 세기
하위 폴더의 파일도 세고 싶다면 Get-ChildItem
명령을 수정할 수 있습니다. -Recurse
매개변수를 사용하여 PowerShell에 하위 디렉터리를 포함하도록 지시할 수 있습니다. 방법은 다음과 같습니다:
$fileList = Get-ChildItem -Path $folderPath -File -Recurse
이 단일 수정을 통해 지정된 폴더와 그 하위 폴더 내 모든 파일의 수를 확장합니다.
텍스트 파일에서 줄 수 세기를 위한 Measure-Object
사용
PowerShell의 Measure-Object
cmdlet은 객체의 속성을 계산하는 다목적 도구로, 텍스트 파일에서 줄 수를 세는 데 사용될 수 있습니다. 텍스트 파일에서 줄 수를 세기 위해 Get-Content
cmdlet을 Measure-Object
와 함께 사용할 것입니다.
다음은 Measure-Object
를 사용하여 텍스트 파일의 줄 수를 세는 단계별 가이드입니다:
1단계: 파일 내용 읽기
줄 수를 세기 위해 Get-Content
cmdlet을 사용하여 파일의 내용을 읽습니다. 이 cmdlet은 파일의 각 줄을 읽어 배열에 저장합니다. 명령은 다음과 같습니다:
$fileContent = Get-Content -Path $filePath
이 명령은:
-Path
는 텍스트 파일의 경로를 지정합니다.$fileContent
는 텍스트 파일의 줄을 배열로 저장합니다.
이제 텍스트 파일의 내용이 $fileContent
변수에 로드되었습니다.
2단계: 줄 수 측정하기
Measure-Object
cmdlet을 사용하여 텍스트 파일에서의 줄 수를 셉니다. 명령은 다음과 같습니다:
$lineCount = ($fileContent | Measure-Object -Line).Lines
이 명령에서:
$fileContent
는 텍스트 파일의 줄을 포함합니다.Measure-Object -Line
은 줄 수를 계산합니다..Lines
는 측정에서 줄 수를 검색합니다.
이제 변수 $lineCount
는 텍스트 파일의 총 줄 수를 보유하고 있습니다.
완전한 예제 코드
완전한 PowerShell 스크립트는 다음과 같습니다:
# Step 1: Define the file path
$filePath = "C:\YourFilePath\YourFile.txt"
# Step 2: Read the file content
$fileContent = Get-Content -Path $filePath
# Step 3: Measure the line count
$lineCount = ($fileContent | Measure-Object -Line).Lines
# Step 4: Display the result
Write-Host "Number of lines in $filePath: $lineCount"
"C:\YourFilePath\YourFile.txt"
를 텍스트 파일의 경로로 교체하고, 스크립트를 실행하여 줄 수를 세십시오.
프로세스 수 세기를 위한 Measure-Object
사용
PowerShell의 Measure-Object
cmdlet은 줄이나 숫수를 세는 데 국한되지 않습니다. 객체를 세는 데에도 사용할 수 있어 프로세스를 세는 데 유용한 도구입니다. Get-Process
를 사용하여 프로세스 목록을 검색하고, Measure-Object
를 적용하여 이를 세겠습니다.
다음은 Measure-Object
를 사용하여 프로세스를 세는 단계별 가이드입니다:
1단계: 프로세스 목록 가져오기
먼저 Get-Process
cmdlet을 사용하여 실행 중인 프로세스 목록을 가져옵니다. 이 목록을 변수에 저장하여 추가 분석을 합니다:
$processList = Get-Process
이 명령에서:
$processList
는 실행 중인 프로세스 목록을 저장합니다.
이제 $processList
변수에 프로세스 목록이 저장되었습니다.
2단계: 프로세스 수 측정하기
다음으로, 목록 내 프로세스를 세기 위해 Measure-Object
cmdlet을 적용합니다. 명령은 다음과 같습니다:
$processCount = ($processList | Measure-Object).Count
이 명령에서:
$processList
는 프로세스 목록을 포함합니다.Measure-Object
는 목록 내 객체의 다양한 속성을 계산합니다..Count
는 객체 수를 검색합니다.
이제 변수 $processCount
는 시스템에서 실행 중인 총 프로세스 수를 보유하고 있습니다.
3단계: 결과 표시
프로세스 수를 보기 위해 $processCount
변수에 저장된 값을 표시합니다:
Write-Host "Number of processes running: $processCount"
이 명령은 프로세스 수를 포함하는 메시지를 출력합니다.
완전한 예제 코드
완전한 PowerShell 스크립트는 다음과 같습니다:
# Step 1: Retrieve the process list
$processList = Get-Process
# Step 2: Measure the process count
$processCount = ($processList | Measure-Object).Count
# Step 3: Display the result
Write-Host "Number of processes running: $processCount"
스크립트를 실행하여 시스템에서 실행 중인 프로세스를 세십시오.
레지스트리 키 수 세기를 위한 Measure-Object
사용
레지스트리 키를 세는 것은 Get-Item
cmdlet과 함께 이 cmdlet을 활용하여 실행할 수 있으며, 이 cmdlet은 파일 시스템 경로처럼 레지스트리 키에 접근할 수 있게 해줍니다.
다음은 Measure-Object
를 사용하여 레지스트리 키 수를 세는 단계별 가이드입니다:
1단계: 레지스트리 키 접근
먼저, Get-Item
cmdlet을 사용하여 세고자 하는 특정 레지스트리 키에 접근합니다. 레지스트리 경로를 문자열로 지정할 수 있습니다:
$registryPath = "HKLM:\Software\YourRegistryKeyPath"
$registryKey = Get-Item -LiteralPath $registryPath
이 명령에서:
$registryPath
는 세고자 하는 레지스트리 키의 경로를 저장합니다.$registryKey
는 레지스트리 키에 접근합니다.
"HKLM:\Software\YourRegistryKeyPath"
를 확인하려는 실제 레지스트리 키 경로로 교체하십시오.
2단계: 레지스트리 키 수 측정하기
지정된 경로 내의 레지스트리 키를 세기 위해 Measure-Object
cmdlet을 적용합니다:
$keyCount = (Get-ChildItem -Path $registryKey.PSPath).Count
이 명령에서:
(Get-ChildItem -Path $registryKey.PSPath)
는 지정된 경로 내의 자식 항목(레지스트리 키)을 검색합니다..Count
는 레지스트리 키의 수를 검색합니다.
변수 $keyCount
는 지정된 경로 내의 총 레지스트리 키 수를 보유하게 됩니다.
완전한 예제 코드
완전한 PowerShell 스크립트는 다음과 같습니다:
# Step 1: Access the registry key
$registryPath = "HKLM:\Software\YourRegistryKeyPath"
$registryKey = Get-Item -LiteralPath $registryPath
# Step 2: Measure the registry key count
$keyCount = (Get-ChildItem -Path $registryKey.PSPath).Count
# Step 3: Display the result
Write-Host "Number of registry keys: $keyCount"
"HKLM:\Software\YourRegistryKeyPath"
를 세고자 하는 레지스트리 키의 실제 경로로 교체하고, 스크립트를 실행하여 레지스트리 키를 세십시오.
아이템 수 세기를 위한 Measure-Object 사용
배열과 함께 사용할 때 Measure-Object
는 배열 내의 아이템 수를 효율적으로 세어줍니다.
다음은 Measure-Object
를 사용하여 배열 내 항목 수를 세는 방법입니다:
1단계: 배열 생성
우선 세고자 하는 항목들을 포함하는 배열을 정의합니다. 수동으로 배열을 생성하거나 cmdlet이나 함수를 사용하여 채울 수 있습니다. 예를 들어, 간단한 배열을 생성해 보겠습니다:
$myArray = 1, 2, 3, 4, 5
이 배열에는 세고자 하는 다섯 개의 항목(숫자 1에서 5까지)이 있습니다.
2단계: Measure-Object 사용
Measure-Object
cmdlet을 적용하여 배열 내 항목 수를 셉니다:
$itemCount = ($myArray | Measure-Object).Count
이 명령에서:
$myArray
는 세고자 하는 배열입니다.Measure-Object
는 배열을 처리하여 정보 제공합니다..Count
는 배열 내 항목 수를 검색합니다.
변수 $itemCount
는 이제 배열 내의 총 항목 수를 보유합니다.
예제 코드
완전한 PowerShell 스크립트는 다음과 같습니다:
# Step 1: Create an array
$myArray = 1, 2, 3, 4, 5
# Step 2: Use Measure-Object to count items
$itemCount = ($myArray | Measure-Object).Count
# Step 3: Display the result
Write-Host "Number of items in the array: $itemCount"
스크립트를 실행하면 배열 내의 항목 수를 세고 개수를 표시합니다.
줄 수를 세기 위한 Measure-Object 사용
문자열에서 줄 수를 세기 위해 Measure-Object
를 사용하려면 다음 단계를 따르십시오:
1단계: 문자열 생성
먼저 줄 수를 세고자 하는 텍스트를 포함하는 PowerShell 문자열을 정의합니다. 이 문자열은 수동으로 생성하거나 파일, 사용자 입력 또는 웹 요청 등의 다양한 출처에서 얻을 수 있습니다. 예를 들어, 다음과 같은 문자열이 있습니다:
$text = @"
This is line 1.
This is line 2.
This is line 3.
"@
이 명령에서:
$text
는 줄 수를 세고자 하는 문자열입니다.Measure-Object
는 문자열을 처리하고 줄 수 정보를 제공합니다.-Line
은 줄을 세도록 지정합니다..Lines
는 측정에서 줄 수를 검색합니다.
변수 $lineCount
는 이제 문자열 내의 총 줄 수를 보유합니다.
3단계: 결과 표시
줄 수를 보려면 $lineCount
변수에 저장된 값을 표시할 수 있습니다:
Write-Host "Number of lines in the string: $lineCount"
이 명령은 문자열의 줄 수를 포함하는 메시지를 출력합니다.
예제 코드
완전한 PowerShell 스크립트는 다음과 같습니다:
# Step 1: Create a string
$text = @"
This is line 1.
This is line 2.
This is line 3.
"@
# Step 2: Use Measure-Object to count lines
$lineCount = ($text | Measure-Object -Line).Lines
# Step 3: Display the result
Write-Host "Number of lines in the string: $lineCount"
출력:
Number of lines in the string: 3
스크립트를 실행하면 문자열 내의 줄 수를 세고 줄 수를 표시합니다.
문자의 수를 세기 위한 Measure-Object 사용
문자열에서 문자의 수를 세기 위해 Measure-Object
를 사용하려면 다음 단계를 따르십시오:
1단계: 문자열 생성
세고자 하는 텍스트를 포함하는 PowerShell 문자열을 정의합니다. 이 문자열은 수동으로 생성하거나 다양한 출처에서 얻을 수 있습니다. 예를 들어, 다음과 같은 문자열이 있습니다:
$text = "Hello, DelftStack!"
이 명령에서:
$text
는 문자의 수를 세고자 하는 문자열입니다.Measure-Object
는 문자열을 처리하고 문자 수 정보를 제공합니다.-Character
는 문자를 세도록 지정합니다..Characters
는 측정에서 문자 수를 검색합니다.
변수 $charCount
는 이제 문자열 내의 총 문자 수를 보유합니다.
3단계: 결과 표시
문자 수를 보려면 $charCount
변수에 저장된 값을 표시할 수 있습니다:
Write-Host "Number of characters in the string: $charCount"
이 명령은 문자열의 문자 수를 포함하는 메시지를 출력합니다.
예제 코드
완전한 PowerShell 스크립트는 다음과 같습니다:
# Step 1: Create a string
$text = "Hello, DelftStack!"
# Step 2: Use Measure-Object to count characters
$charCount = ($text | Measure-Object -Character).Characters
# Step 3: Display the result
Write-Host "Number of characters in the string: $charCount"
출력:
Number of characters in the string: 18
이 스크립트를 실행하면 문자열 내의 문자를 세고 문자 수를 표시합니다.
결론
이 기사에서는 PowerShell의 두 가지 필수 도구인 Count
연산자와 Measure-Object
cmdlet을 탐구했습니다.
이 도구들은 배열이나 컬렉션 내 객체를 효율적으로 세고 측정할 수 있게 해주어 PowerShell은 데이터 분석 및 관리에 다재다능한 솔루션이 됩니다.
이 기사에서 제공한 단계별 지침과 예제를 따라 진행하면, PowerShell 스크립트에서 Count
연산자와 Measure-Object
cmdlet을 자신 있게 적용할 수 있습니다.
파일, 레지스트리 키, 프로세스, 배열 또는 문자열 작업 시, 이러한 도구들은 PowerShell 스크립팅 작업에 필수적인 도구입니다.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn