Last active
January 30, 2023 14:23
-
-
Save lisysolution/9adea80a60366da0bade to your computer and use it in GitHub Desktop.
파워쉘 - 기본 코드
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ===================================== | |
# 초기 스크립트 실행 허용으로 설정하는 방법 | |
# ===================================== | |
Set-ExecutionPolicy RemoteSigned -Force | |
# ===================================== | |
# 파라미터 지정 방법 | |
# ===================================== | |
# 소스의 최상단에 있어야 함 | |
param ( | |
[Parameter(Mandatory=$true)] # 필수 항목 지정 | |
$param1, | |
$param2 | |
) | |
# ===================================== | |
# 외부 어셈블리 Import | |
# ===================================== | |
# .NET 어셈블리 Import | |
Add-Type -AssemblyName System.Web | |
# 외부 어셈블리(SQL) Import | |
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") | Out-Null | |
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SmoExtended") | Out-Null | |
# ===================================== | |
# 에러 처리 | |
# ===================================== | |
if($? -ne "True") | |
{ | |
$Error[0] # 발생한 에러 내용 | |
$Error.Clear() # 에러 초기화 | |
exit # 실행 종료 | |
} | |
# ===================================== | |
# 결과 텍스트를 파일에 기록 | |
# ===================================== | |
# 파일의 끝에 Append Line 방식으로 추가 된다. | |
# 파일이 없는 경우 새로 만들어서 기록한다. | |
# 폴더가 없는 경우에는 새로 만들지 못하고 에러가 발생한다. | |
"텍스트 문자열" >> "C:\logs\log.txt" | |
# 명령의 결과를 기록하는 것도 가능 | |
date >> "C:\logs\log.txt" # 현재 시각 기록 | |
# ===================================== | |
# 텍스트 파일의 내용 읽기 | |
# ===================================== | |
Get-Content "C:\log.txt" # 텍스트 파일의 내용 반환 | |
Get-Content "C:\log.txt" | Measure-Object # 파일의 내용 분석 (총 라인 수 등.. ) | |
Get-Content "C:\log.txt" -TotalCount 2 # 파일의 처음 2라인 | |
Get-Content "C:\log.txt" | Select-Object -Last 3 # 파일의 마지막 3라인 | |
# ===================================== | |
# 특정 시간 동안 일시 정지 | |
# ===================================== | |
Start-Sleep -s 10 # 10초 | |
Start-Sleep -m 10000 # 10000밀리초 | |
# ===================================== | |
# 화면에 문자열 출력 | |
# ===================================== | |
echo "문자열" # 콘솔에 문자 출력 | |
# 글자색=Green, 배경색=Yellow, 배열의 각 항목을 '|' 으로 연결, 줄 마지막에 New Line 추가 안함 | |
Write-Host $arrs -ForegroundColor Green -Separator '|' -BackgroundColor Yellow -NoNewline | |
# $pshome은 PS의 홈 디렉터리를 나타내는 미리 정의된 값 | |
Write-Host $pshome # "C:\Windows\System32\WindowsPowerShell\v1.0" | |
# ' 으로 감싸는 경우 모든 내용을 문자로 처리 | |
Write-Host '$pshome' # "$pshome" | |
# " 으로 감싸는 경우 문자열에 변수값 사용 가능 | |
Write-Host "Home is $pshome" # "Home is C:\Windows\System32\WindowsPowerShell\v1.0" | |
# " 내부 문자열에서 특정 변수만 문자로 처리하고 싶은 경우 | |
Write-Host "Home is `$pshome" # "Home is $pshome" | |
# ===================================== | |
# if 사용법 | |
# ===================================== | |
("a" -ne "b") # Not Equal | |
# ===================================== | |
# 문자열 처리 | |
# ===================================== | |
# 치환 - Replace | |
'abc' -replace 'a','b' # 'bbc' | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment