본문 바로가기

IT

PowerShell로 파일 복사 및 덮어쓰기 방법 | 간단한 명령어 정리

반응형

 

PowerShell로 파일 복사 및 덮어쓰기 방법 | 간단한 명령어 정리

PowerShell을 사용하면 특정 파일을 특정 경로로 쉽게 복사(Copy)하거나 덮어쓰기(Overwrite) 할 수 있습니다. Windows 환경에서 파일을 자동으로 백업하거나 특정 폴더로 이동할 때 유용하게 활용할 수 있습니다. 이번 가이드에서는 PowerShell 파일 복사 및 덮어쓰기 방법예제 코드와 함께 자세히 설명합니다.


🔹 PowerShell에서 파일 복사하는 기본 방법

PowerShell에서 Copy-Item 명령어를 사용하면 특정 파일을 원하는 위치로 복사할 수 있습니다.

📌 파일을 특정 폴더로 복사하기

Copy-Item "C:\Source\file.txt" -Destination "D:\Target\" -Force

 

✅ C:\Source\file.txt → D:\Target\ 폴더로 파일을 복사
✅ 같은 파일명이 있으면 기본적으로 덮어쓰기 없이 복사 실패


🔹 PowerShell에서 파일 덮어쓰기(Overwrite)

기본적으로 Copy-Item은 같은 파일이 있을 경우 자동으로 덮어쓰지 않습니다.
이때 -Force 옵션을 추가하면 강제 덮어쓰기가 가능합니다.

📌 기존 파일을 강제로 덮어쓰기

Copy-Item "C:\Source\file.txt" -Destination "D:\Target\" -Force
 

✅ -Force 옵션을 사용하면 같은 이름의 파일이 있어도 강제로 덮어쓰기 가능

📌 복사하면서 파일 이름 변경하기

Copy-Item "C:\Source\file.txt" -Destination "D:\Target\newfile.txt" -Force

✅ file.txt → newfile.txt로 이름 변경 후 저장


🔹 PowerShell에서 폴더 전체 복사하기

폴더 전체를 복사할 때는 -Recurse 옵션을 사용합니다.

📌 하위 폴더 포함하여 폴더 전체 복사

Copy-Item "C:\SourceFolder\" -Destination "D:\TargetFolder\" -Recurse -Force

✅ -Recurse 옵션으로 하위 폴더 및 파일까지 모두 복사
✅ -Force 옵션으로 기존 파일이 있을 경우 덮어쓰기


🔹 파일이 존재하면 삭제 후 복사

PowerShell에서 기존 파일을 덮어쓰기 전에 삭제하려면 Remove-Item을 사용할 수 있습니다.

$source = "C:\Source\file.txt" 
$destination = "D:\Target\file.txt" 

# 기존 파일 삭제 후 복사 
if (Test-Path $destination) 
{ 
	Remove-Item $destination -Force 
} 
Copy-Item $source -Destination $destination

✅ Test-Path로 파일 존재 여부 확인
✅ Remove-Item -Force로 기존 파일 삭제 후 복사


🔹 사용자 입력을 받아 파일 덮어쓰기 여부 결정

사용자에게 덮어쓰기 여부를 물어보고 결정할 수도 있습니다.

$source = "C:\Source\file.txt"
$destination = "D:\Target\file.txt"

if (Test-Path $destination) {
    Write-Host "파일이 이미 존재합니다. 덮어쓰시겠습니까? (Y/N)"
    $input = Read-Host
    if ($input -eq "Y") {
        Copy-Item $source -Destination $destination -Force
        Write-Host "파일이 덮어쓰기 되었습니다."
    } else {
        Write-Host "파일 복사를 취소했습니다."
    }
} else {
    Copy-Item $source -Destination $destination
    Write-Host "파일이 복사되었습니다."
}
 

✅ Read-Host로 사용자 입력을 받아 덮어쓰기 여부 결정
✅ Test-Path로 기존 파일 확인 후 삭제


🔹 PowerShell 파일 복사 및 덮어쓰기 명령어 정리

작업명령어

특정 파일 복사 Copy-Item "소스경로" -Destination "대상경로"
파일 강제 덮어쓰기 Copy-Item "소스경로" -Destination "대상경로" -Force
파일명 변경 후 복사 Copy-Item "소스파일" -Destination "대상파일명"
폴더 전체 복사 Copy-Item "소스폴더" -Destination "대상폴더" -Recurse
기존 파일 삭제 후 복사 Remove-Item "대상파일" -Force 후 Copy-Item
사용자 입력 받아 덮어쓰기 여부 결정 Read-Host 활용

🚀 결론

PowerShell을 사용하면 파일을 손쉽게 복사하거나 덮어쓸 수 있습니다. Copy-Item과 -Force, -Recurse 옵션을 조합하면 원하는 작업을 자동화할 수 있으며, Test-Path와 Remove-Item을 활용하면 보다 정교한 파일 관리가 가능합니다.

자동화 스크립트, 백업 시스템, 배포 작업 등에 활용할 수 있습니다.

반응형