PowerShell에서는 간단한 프로그래밍을 할 수 있다.
간단한 프로그래밍을 이용하면, 간단한 장치나 동작을 시킬 수 있다.
여기서 간단한 프로그래밍은 중복되는 파일이 있는지 확인하면서 삭제하거나 특정 위치로 옮기거나 실행시켜서 제거하는 장치를 만들 수 있다.
그걸 하기 위해서 변하는 값을 저장하여 처리할 수 있어야 하며, PowerShell에서도 변수를 사용할 수 있다.
[PowerShell] 간단한 변수 생성.
PowerShell에서 변수를 생성하기 위해선 '$'라는 기호를 사용해야 한다.
1
2
3
4
5
6
7
8
9
|
# 변수값을 정의 하기 위해서는 '$'를 사용해야한다.
$values = 0;
# 변수값을 숫자로 적용할 수 있다.
$123 = 0;
# 변수를 제거하는 명령어.
Remove-Variable values, 123;
|
cs |
변수를 사용하고, 제거하기 위해서는 PowerShell에서는 Remove-Variable이라는 함수를 사용해서 제거를 할 수 있다.
변수 값을 제거해주지 않으면, PowerShell에 있는 변수를 재활용하지 않는 이상은 계속 쌓여서 메모리에 차지하는 문제점이 있다.
[PowerShell] PipeLine에 연결된 변수 사용법.
참고 사이트: [MSDOC] PowerShell Pipelines
PowerShell은 명령어 혹은 프로그램에서 출력되는 값을 받아들여서 다른걸로 재활용 할 수 있다.
이것을 PipeLine이라고 하며, 다른 프로세서간의 통신을 연결해서 처리 할 수 있다.
1
2
3
4
5
6
|
# command1에 나온 결과물을 command2에 보내고, command2에 나온 결과물을 command3에 보낸다.
command1 | command2 | command3;
# list-item에서 나온 값을 출력하는 방법.(굳이 할 필요는 없다.)
ls | echo
|
cs |
여기서 PipeLine의 변수를 이용해서 제어를 할 수 있는데.
이 제어하기 위해서 '$_'라는 변수형태를 취하게 된다.
1
2
3
4
5
6
7
8
9
|
# Text File 검색.
Get-ChildItem -Path *.txt |
# 개체 필터링.
Where-Object {$_.length -gt 10000} |
# 길이[파일 크기]에 맞춰서 정렬[오름차순]
Sort-Object -Property length |
# 테이블 형태에 맞춰서 출력.
Format-Table -Property name, length
|
cs |
[PowerShell] 조건문
PowerShell에서는 간단한 계산을 할 수 있지만, 알고리즘을 사용하기 위해서는 연산만 할 수 있으면 안된다.
특정 조건에 맞춰서 참과 거짓으로 나뉘어져야하는데. 이 방법은 if문과 switch문을 이용해서 적용 할 수 있다.
참고 사이트: [MSDOC] PowerShell 조건문
[PowerShell] 간단한 if문 사용하기.
if문은 참과 거짓을 사용할 수 있어야하므로, 2가지 경우를 사용할때 사용 할 수 있다.
if문과 if-else문, if-else if문을 사용할 수 있다.
1
2
3
4
5
6
7
|
if(1 -eq 2){
echo "True";
}elseif(1 -eq 2){
echo "2=2";
}else{
echo "False";
}
|
cs |
[PowerShell] 간단한 Switch문 사용하기.
PowerShell에서 if문을 사용하기에 분기가 많거나 하면, 거기에 맞춰서 처리하기 위해서 Switch문을 사용한다.
1
2
3
4
5
6
7
8
|
$switchValues = 0;
switch($switchValues){
0 { $a = 1; }
1 { $a = 2; }
#...
default { $a = 0; }
}
|
cs |
[PowerShell] 반복문.
조건문 외에도 조건에 맞춰서
[PowerShell] 간단한 반복문 For문
1
2
3
4
5
|
#For문 적용.
for($i = 0; $i -lt 100; $i++){
echo $i;
}
|
cs |
[PowerShell] 간단한 반복문 ForEach문
1
2
3
4
5
6
|
#Foreach문 적용.
$folders = (Get-ChildItem -File *.txt);
foreach($folder in $folders)
{
echo $folder.Name;
}
|
cs |
[PowerShell] 간단한 반복문 While문
1
2
3
4
5
6
|
#while문 적용.
while($i -le 100){
echo $i;
$i+=1;
}
|
cs |
[PowerShell] 조건에 적용할 비교문 방식.
-eq = equal
-ne = not equal
-le = least equal
-lt = least
-ge = great equal
-gt = great
-and = and
-or = or
-not = not
이렇게 맞춰서 비교문을에 적용 할 수 있으며, 비교문, 반복문의 조건을 적용할때 사용하면된다.
[PowerShell] 간단한 함수 생성.
참조 사이트: [MSDOC] 함수
반복적으로 동작하는 동작 방식을
1
2
3
4
5
6
7
8
9
10
11
|
# 함수 생성.
function addLines{
# 매개변수 저장.
param (
$paramHTMLFileName
)
#함수 처리과정.
"<p>` `; <br/></p>" >> $paramHTMLFileName;
}
|
cs |
[PowerShell] 간단한 예외 처리.
참조 사이트: [MSDOC]예외처리
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# 함수 생성.
function addHashDataLines{
# 매개변수.
param(
$paramHTMLFileName,
$paramAlgorithm,
$paramTargetFileName
)
# 예외 처리.
try{
$hashData = Get-FileHash -algorithm $paramAlgorithm $paramTargetFileName;
$algorithm = $hashData.Algorithm;
$hash = $hashData.Hash;
"<p>` `; $algorithm : <br/></p>" >> $paramHTMLFileName;
"<p>` `; $hash <br/></p>" >> $paramHTMLFileName;
}catch{
echo "Error! Can't $paramTargetFileName is $paramAlgorithm Make File Hash!";
}
}
|
cs |
'PowerShell' 카테고리의 다른 글
PowerShell로 파일 Trash(휴지통)에 옮기는 방법. (0) | 2020.12.04 |
---|---|
Powershell에서 Progress 사용하기. (0) | 2020.07.03 |