이것만 알면 tree 안써도됨. 지피티같은 녀석들을 위한 파워셸 스크립트
프로젝트의 구조를 알려주는 건 쉽지 않은데, 특히 우리 llm 친구들(지피티, 잼미니, 클로드 등등)에게 이해시키기 위해 쉬운 방법이 필요하겠죠? 오늘은 파워셸(PowerShell) 스크립트를 사용하여 프로젝트의 디렉토리 구조를 쉽게 보여줄 수 있는 방법에 대해 알아볼게요.
???: 아니 tree 잘 쓰면 되는 거 아님?
- 리눅스의 tree 명령어와 윈도우 tree 명령이 좀 다르기 때문에, 그냥 이런 스크립트를 가져왔읍니다..
윾..
파워셸이란?
윈도우에서 사용할 수 있는 명령어 인터페이스인데요, CLI의 일종으로 간단하게 컴퓨터를 제어할 수 있습니다. 자세한 내용은 궁금하다면 검색해 보시는게 빠릅니다.
특정 디렉토리 제외하고 트리 구조 뽑기
이 스크립트는 여러분의 프로젝트에서 ignoreList
내용 참조하여 불필요한 디렉토리를 제외하고 탐색합니다. 그러면 구조를 무려 텍스트로 알 수 있습니다.mypwdtree.ps1
# 프로젝트 디렉토리 설정 및 출력 파일 경로 설정
$projectDir = Get-Location
$outputFile = "$projectDir\directory-structure.txt"
# 제외할 디렉토리 목록을 스크립트 내에서 정의
$ignoreList = @("dir_to_ignore1", "dir_to_ignore2", "node_modules")
# 디렉토리 구조 탐색 함수 정의
function Get-DirectoryStructure {
param (
[string]$path,
[int]$depth
)
$items = Get-ChildItem -Path $path -Force | Where-Object { $_.Name -notin $ignoreList }
foreach ($item in $items) {
$indent = " " * ($depth * 2)
if ($item.PSIsContainer) {
Add-Content -Path $outputFile -Value "$indent- $($item.Name)/"
Get-DirectoryStructure -path $item.FullName -depth ($depth + 1)
} else {
Add-Content -Path $outputFile -Value "$indent- $($item.Name)"
}
}
}
# 디렉토리 구조 출력 파일 초기화 및 탐색 시작
if (Test-Path $outputFile) {
Remove-Item $outputFile
}
New-Item -Path $outputFile -ItemType File
Get-DirectoryStructure -path $projectDir -depth 0
Write-Host "디렉토리 구조가 $outputFile 파일에 저장되었습니다. 제외된 디렉토리는 $($ignoreList -join ', ') 입니다."
스크립트 사용 방법
ignore.csv
파일 생성: 프로젝트 루트에ignore.csv
를 만들고, 제외할 디렉토리 이름을 나열합니다. 예를 들어,node_modules
,build
등이 있겠죠.- 파워셸 실행: 프로젝트 디렉토리에서 파워셸을 열어주세요.
- 스크립트 실행: 위에 제공된
mypwdtree.ps1
스크립트를 파워셸에 복사하고 실행합니다. - 결과 확인:
directory-structure.txt
파일을 열어 프로젝트의 디렉토리 구조를 확인합니다.
주의사항
파일 및 폴더 이름에는 특수 문자를 사용하지 마세요. <
, >
, :
, "
, /
, \
, |
, ?
, *
,,
등이 문제를 일으킬 수 있습니다.
이 파워셸 스크립트를 통해 프로젝트 구조를 쉽게 파악할 수 있게 되었습니다. llm 친구들도 이제 프로젝트의 구조를 더 잘 이해할 수 있겠죠? 이 글이 여러분의 슬기로운 코딩 생활(with GenAI)에 도움이 되기를 바랍니다!
'IT > etc' 카테고리의 다른 글
로지텍 옵션(Logi Option) 스크립트 오류 해결 방법 | 프로그램 창 오류 (0) | 2025.03.07 |
---|