powershell로 입력받은 값 csv DB에서 찾기

윈도우에 들어있는 powershell은 기존의 cmd보다 강력한 기능이 많습니다.

 

그래서 단순한 배치파일보다 다양한 기능을 할 수 있는데요.

 

Powershell

PowerShell은 명령줄 셸, 스크립팅 언어 및 구성 관리 프레임워크로 구성된 플랫폼 간 작업 

자동화 솔루션입니다. PowerShell은 Windows, Linux 및 macOS에서 실행할 수 있습니다.

ms 홈페이지에 따르면, PowerShell은 다른 인기 있는 셸의 주요 기능을 포함하는 현대적인 명령 셸이라고 합니다.

 

오직 텍스트만을 수락하고 반환하는 대부분의 셸과는 달리, PowerShell은 .NET 개체를 수락 및 반환할 수 있습니다.

 

PowerShell에는 다음과 같은 기능이 포함되어 있습니다.

  • 강력한 명령줄 기록
  • 탭 완성 및 명령 예측(about_PSReadLine 참조)
  • 명령 및 매개 변수 별칭 지원
  • 명령 연결용 파이프라인
  • Unix man 페이지와 유사한 콘솔 내 도움말 시스템

먼저 가장 간단한 명령어부터 powershell 명령어를 알아보겠습니다.

 

Powershell 기본 명령어

기본적으로 변수는 $변수 이름을 통해 저장 합니다.

 

먼저 현재 위치를 아는 것은  명령어 대로 Get-Location입니다.

 

리눅스에서 pwd와 같은 명령어죠.

그리고 외부에서 입력받는 scanf 등의 명령어는 Read-Host입니다.

 

바로 해보면 값을 저장하고 있음을 알 수 있습니다.

보다 자세한 용법은 아래 자습서에서 잘 표시하고 있습니다.

https://learn.microsoft.com/ko-kr/powershell/scripting/samples/selecting-parts-of-objects--select-object-?view=powershell-7.3 

 

개체의 일부 선택 - PowerShell

`Select-Object` cmdlet을 사용하여 새로운 사용자 지정 PowerShell 개체를 만들 수 있으며, 이러한 개체에는 파이프라인의 개체에서 선택한 속성이 포함됩니다.

learn.microsoft.com

그리고 CSV파일을 내보내고 읽을수도 있는데요.

 

https://learn.microsoft.com/ko-kr/powershell/module/microsoft.powershell.utility/import-csv?view=powershell-7.3 

 

Import-Csv (Microsoft.PowerShell.Utility) - PowerShell

cmdlet은 Import-Csv CSV 파일의 항목에서 테이블과 유사한 사용자 지정 개체를 만듭니다. CSV 파일의 각 열은 사용자 지정 개체의 속성이 되고 행의 항목은 속성 값이 됩니다. Import-Csv 는 cmdlet에서 생

learn.microsoft.com

CSV파일 읽기

아까 입력받은 값을 csv에서 찾는 코드인데요.

 

먼저 값을 value라는 변수에 받고

 

다음에 pruducts에 test.csv파일을 utf-8로 읽은 다음, id값이 value와 같은 값을 format은 테이블로

 

표시하는 프로그램입니다.

$value = Read-Host "Input id ( ex. 111)"
$products = Import-Csv $folder1\test.csv -Encoding UTF8 | where-object id -eq $value 
$products | Format-Table

마지막에 시간을 좀 주려면 sleep 옵션을 주어도 됩니다.

 

Start-Sleep -Seconds 5

 

이처럼 간단한 코드를 짤 수 있는데요.

 

잘 사용하시기 바랍니다.