파일 만들기
New-Item
파일, 폴더 만들때 사용
# 새 파일 생성
New-Item -Path “C:\Files\text1.txt" -ItemType File
# 새 폴더 생성
New-Item -Path "C:\Files\New_Folder" -ItemType Directory
#같은 이름의 파일이 존재하면 지우고 새 파일 생성
New-Item -Path “C:\Files\text1.txt" -ItemType File -Force
파일이 존재하지 않을 때만 파일 만들기
if(-Not (Test-Path -Path “C:\Files\text1.txt")){
New-Item -Path “C:\Files\text1.txt"
}
파일 읽기
Get-Content
읽은 파일의 내용을 배열의 형태로 저장
$computers = Get-Content -Path .\computers.txt
ForEach($com in $computers){
Write-host $com
}
두 개 이상의 파일 내용 읽기
배열에 파일 이름을 저장해서 사용
$files = 'computers.txt','computers-1.txt'
$computers = Get-Content -Path $files
ForEach($com in $computers){
Write-host $com
}
파일의 첫 줄, 마지막 줄 제외하고 읽기
Get-Content -Path .\computers.txt | Select-Object -Skip 1 | Select-Object -Skip
파일의 마지막에 줄바꿈 제외하고 읽기
아래의 그림과 같이 텍스트 파일에 줄바꿈 문자들이 있는 경우, Get-Content가 파일을 읽고 배열을 만들때
줄바꿈 문자들 하나 하나 배열의 값에 저장이 됩니다
For-Each로 배열 작업을 할 때, 빈 값이 저장되어 있어서 문제가 생기는 경우가 있습니다
이럴때는 텍스트 파일을 줄바꿈 문자가 없게 만들어 저장을 하거나, 스크립트 내에서 처리 하면 됩니다

$file_content = Get-Content -Path .\File_1.txt | Where-Object {$_.trim() -ne "" }
파일쓰기
Out-File
파일을 생성하고, 값을 입력
같은 이름의 파일이 존재하면 파일을 지우고 새로 생성
-append 를 사용하면, 이미 있는 파일에 값을 추가로 입력
#문자열 파일에 쓰기
"test" | Out-File .\t.txt
#문자열 변수를 사용해서 파일에 쓰기
$s = "test1"
$s | Out-File .\t.txt
#파이프를 사용하지 않고 -InputObject를 사용해서 파일에 쓰기
$s1 = "test2"
Out-File -FilePath .\t.txt -InputObject $s1
#기존 있는 파일을 지우지 않고 내용 추가
Out-File -FilePath .\t.txt -InputObject $str -Append
Set-Content
파일을 생성하고 내용 입력.
Out-File 과 비슷하지만 -append 가 없어서 기존 파일이 존재하면 지우고 새로 파일을 생성
Set-Content -Path .\t.txt -Value "test"
Add-Content
기존에 있는 파일에 값을 추가 시킬때 사용
Add-Content -Path .\t.txt -Value "Hi"
리다이렉션 사용해서 파일 만들기
> : 파일을 새로 생성하고 파일에 내용 넣기
>> : 기존 파일이 있을 경우 파일을 지우지 않고, 기존 파일 내용에 추가
#파일 생성
"Hello" > .\rediection_test.txt
#기존 redirection_test.txt 파일을 지우고 다시 생성후 Hi 추가
"Hi" > .\rediection_test.txt
#redirection_test.txt파일에 내용 추가
"How are you?" >> .\rediection_test.txt
실행결과
rediection_test.txt 내용
Hi
How are you?
'파워쉘(Powershell) > 파일,폴더' 카테고리의 다른 글
파워쉘-엑셀파일 읽기 (0) | 2024.04.22 |
---|---|
파워쉘 - 엑셀(Excel)에 쓰기 (2) | 2024.04.19 |
파워쉘 - 파일 이름 변경 및 지우기 (0) | 2024.04.02 |
파일, 폴더 목록 (0) | 2024.03.07 |