Record

[Windows] PowerShell로 폴더 구조 자동 생성하기🌳 본문

SH Dev Log/Dev Tips & Best Practices

[Windows] PowerShell로 폴더 구조 자동 생성하기🌳

pf.styx 2025. 6. 28. 14:15

 

폴더 여러 개 만들기 귀찮아서 코파일럿한데 한 번에 만드는 방법을 물어봤는데 파워쉘로 뚝딱 만드는 방법을 알려줬다. 맨날 마우스로 딸깍딸깍 노가다 하며 만들었는데... 따봉 코파일럿아 고마워 🦔💻

 

 

 


1. PowerShell이란?

Windows PowerShell은 마우스 클릭 대신 텍스트 명령어로 컴퓨터 작업을 자동화할 수 있는 명령줄 셸(CLI)이자 스크립트 언어. 마우스 클릭 대신 텍스트 명령을 입력해서 컴퓨터에 시키고 싶은 일을 자동으로 처리하게 해 주는 도구임

  • 차세대 터미널
    CMD(cmd.exe)를 대신해 풍부한 명령(Cmdlet)과 스크립팅 기능을 제공
  • 자동화 도구
    폴더 생성, 파일 복사, 시스템 관리 등 반복 작업을 스크립트 한 번으로 해결
  • 확장성
    .NET 라이브러리를 불러다 쓸 수 있어 개발자에게 친화적

2. 기본 명령어 예시

기능 명령어 설명
폴더/파일 조회 Get-ChildItem (축약: gci) 현재 디렉터리의 파일·폴더 목록 출력
새 폴더 생성 New-Item -ItemType Directory 지정한 경로에 새 폴더를 생성
날짜 출력 Get-Date 현재 날짜·시간을 출력
# 예1. 현재 폴더 목록 보기
Get-ChildItem

# 예2. C:\TestFolder 라는 새 폴더 만들기
New-Item -ItemType Directory -Path "C:\TestFolder"

# 예3. 오늘 날짜 출력하기
Get-Date

 


3. 폴더 구조 자동 생성 스크립트

아래 스크립트를 PowerShell 창에 붙여넣고 Enter만 누르면,
Documents\DevBlog 폴더 아래에 6개의 하위 폴더가 자동으로 생성됨

# 1) 기본 경로 설정
$base = "C:\Users\wblai\Documents\DevBlog"

# 2) 생성할 폴더 목록 정의
$names = @(
  "01_Learning_Journal",
  "02_Exercises_Tutorials",
  "03_Projects_Case_Studies",
  "04_Tools_Reviews",
  "05_Dev_Tips_Best_Practices",
  "06_Roadmaps_Retrospectives"
)

# 3) DevBlog 폴더가 없으면 생성
if (-not (Test-Path $base)) {
  New-Item -ItemType Directory -Path $base | Out-Null
}

# 4) 하위 폴더 일괄 생성
$names | ForEach-Object {
  $path = "$base\$_"
  if (-not (Test-Path $path)) {
    New-Item -ItemType Directory -Path $path | Out-Null
  }
}

스크립트 실행 방법

  1. 시작 메뉴 → PowerShell 실행
  2. 위 코드를 전체 복사 → PowerShell 창에 붙여 넣기
  3. 마지막 줄에서 Enter 한 번 누르면 끝!
  4. C:\Users\wblai\Documents\DevBlog 경로를 탐색기에서 확인

 

파워쉘로 폴더 구조 자동 생성

 

 

✅ PowerShell에서 하드코딩 경로 대신 환경변수 쓰기

C:\Users\wblai\Documents\DevBlog 같은 하드코딩된 경로는 특정 사용자 환경에서만 유효한 절대 경로입니다.

다른 사람의 PC에서는 해당 사용자 폴더(wblai)가 없기 때문에 스크립트 실행에 실패할 수 있어요.

💡 이런 문제를 피하려면 $env:USERPROFILE 환경 변수를 활용해 사용자마다 다른 홈 디렉터리 경로를 자동으로 가져오는 방식이 더 좋습니다.

📁 예시 시나리오

  • 사용자 A: C:\Users\alice
  • 사용자 B: C:\Users\bob

PowerShell 예제:

$base = "$env:USERPROFILE\Documents\DevBlog"

실행 결과:

  • A → C:\Users\alice\Documents\DevBlog
  • B → C:\Users\bob\Documents\DevBlog
이처럼 $env:USERPROFILE을 활용하면,
누구든 자기 환경에 맞는 경로로 자동 적용되기 때문에
스크립트를 더 재사용 가능하고 안전하게 공유할 수 있어요 💡

🔍 $env: 문법 요약

  • $env는 PowerShell에서 환경 변수에 접근할 때 쓰는 키워드예요.
  • USERPROFILE은 현재 사용자의 홈 디렉터리를 가리키는 Windows 환경 변수입니다.
  • $env:환경변수명 형식으로 접근합니다.

다른 예제:

  • $env:USERNAME → 현재 사용자 계정명 (예: alice)
  • $env:TEMP → 임시 파일 저장 경로

💡 명령어 요약 표

기능 명령어 설명
폴더 조회 Get-ChildItem 현재 경로의 파일/폴더 목록 출력
폴더 생성 New-Item -ItemType Directory 지정한 경로에 새 폴더 생성
날짜 출력 Get-Date 현재 시간 정보 출력

📦 폴더 자동 생성 스크립트 전체 코드

# 1) 기본 경로 설정
$base = "$env:USERPROFILE\Documents\DevBlog"

# 2) 만들 폴더 목록
$names = @(
  "01_Learning_Journal",
  "02_Exercises_Tutorials",
  "03_Projects_Case_Studies",
  "04_Tools_Reviews",
  "05_Dev_Tips_Best_Practices",
  "06_Roadmaps_Retrospectives"
)

# 3) DevBlog 폴더 없으면 생성
if (-not (Test-Path $base)) {
  New-Item -ItemType Directory -Path $base | Out-Null
}

# 4) 하위 폴더들 일괄 생성
$names | ForEach-Object {
  $path = "$base\$_"
  if (-not (Test-Path $path)) {
    New-Item -ItemType Directory -Path $path | Out-Null
  }
}

🛠 실행 순서

  1. PowerShell 실행 (시작 버튼 클릭 후 'PowerShell' 검색)
  2. 위 코드 전체 복사 → PowerShell 창에 붙여넣기
  3. Enter 누르면 폴더들이 자동으로 생성됩니다
  4. Documents\DevBlog 경로 확인!

4. 마무리

PowerShell을 활용하면 반복되는 개발·관리 작업을 한 번에 해결할 수 있어서 편리하고 재밌었다 
지금처럼 “폴더 여러 개 만들기” 수준에서 시작해, 나중에는 배포·백업·테스트 자동화까지 확장해 봐야지🗂️