티스토리 뷰
[Visual Studio] 프로젝트 솔루션 자동생성 파일 지우기, 용량 늘리기, 필요없는 하위 폴더 검색 삭제, 자동 삭제
conv 2024. 7. 11. 17:31목 차
안녕하세요 오늘은 비주얼스튜디오로 개발 진행시 프로젝트 빌드 할때 자동으로 생성되는 파일에 대해 알아보고 삭제 가능한 파일들을 하위 폴더까지 검색해서 자동으로 삭제해주는 명령어를 통해 배치 파일을 만들어 한방에 편리하게 정리하는 방법을 공유해 드리겠습니다.
자동생성 파일 지우기 실행 파일
배치파일을 제공해 드립니다. 아래를 클릭하여 다운로드 받아가시면 됩니다.
다만, 아래 내용을 꼭 확인 하셔서 중요한 파일이 삭제되지 않도록 수정하여 사용하세요!
자동으로 생성되는 파일 목록
Visual Studio 프로젝트를 빌드할 때 자동으로 생성되는 파일 중 삭제해도 무방한 파일 확장자들은 주로 빌드된 아티팩트나 임시 파일들입니다.
이러한 파일들은 프로젝트를 다시 빌드하면 재생성되므로 삭제해도 무방합니다.
다음은 삭제해도 무방한 파일 확장자 목록입니다.
파일 확장자 | 설명 |
---|---|
.obj | 오브젝트 파일 |
.bin | 바이너리 파일 |
.suo | 솔루션 사용자 옵션 파일 |
.user | 사용자 설정 파일 |
.tlog | 빌드 로그 파일 |
.idb | 인크리멘탈 빌드 데이터베이스 파일 |
.pdb | 프로그램 데이터베이스 파일 (디버그 심볼 파일) |
.ipch | 인크리멘탈 프리컴파일 헤더 파일 |
.log | 로그 파일 |
.vspscc | 비주얼 소스세이프 프로젝트 파일 |
.vssscc | 비주얼 소스세이프 솔루션 파일 |
.cache | 캐시 파일 |
.ncb | 데이터베이스 파일 (IntelliSense) |
.sdf | 데이터베이스 파일 (IntelliSense) |
.opensdf | 데이터베이스 파일 (IntelliSense) |
자동으로 생성되는 폴더 목록
빌드 디렉토리나 출력 디렉토리에 생성되는 임시 파일이나 디렉토리도 포함됩니다.
추가 팁으로 여러 프로젝트를 관리중이라면
각 프로젝트 속성에서 [일반]-[중간 디렉터리]를
다음과 같이 변경하면 [$(ProjectDir)..\_etc] 프로젝트의 임시파일 폴더를 하나로 일치화하여
쉽게 삭제 및 관리 할수 있습니다.
- bin 디렉토리
- obj 디렉토리
- Debug 디렉토리
- Release 디렉토리
이 파일들과 디렉토리들은 프로젝트를 다시 빌드할 때 재생성되므로,
삭제해도 프로젝트의 소스 코드에는 영향을 미치지 않습니다.
단, Debug, Release 폴더에 참조하는 라이브러리가 있는 경우는 해당 폴더는 삭제하지 않고 삭제를 원하는 확장자만 삭제하도록 하는 것이 좋습니다.
원하는 파일 및 폴더 삭제 명령어
원하는 파일(확장자) 삭제
del /f /q /s /a rhsa *.bak
위 명령어는 .bak 확장자를 가진 파일들을 삭제하는 Windows 명령어입니다.
각 부분에 대해 설명하자면
옵션 | 설명 |
---|---|
del | 파일을 삭제하는 명령어입니다. |
/f | 읽기 전용 파일도 강제로 삭제합니다. |
/q | 조용한 모드로, 삭제 전에 확인을 묻지 않습니다. |
/s | 현재 디렉토리뿐만 아니라 모든 하위 디렉토리에서 지정된 파일을 삭제합니다. |
/a rhsa | 속성을 기준으로 파일을 삭제합니다. 여기서 속성은 다음과 같습니다: r: 읽기 전용 파일 (Read-only) h: 숨김 파일 (Hidden) s: 시스템 파일 (System) a: 아카이브 파일 (Archive) |
*.bak | .bak 확장자를 가진 모든 파일을 대상으로 합니다. |
즉, del /f /q /s /a rhsa *.bak 명령어는 강제로 (/f) 확인 메시지 없이 (/q) 모든 하위 디렉토리를 포함하여 (/s) 읽기 전용, 숨김, 시스템, 아카이브 파일들을 (/a rhsa) .bak 확장자를 가진 파일들을 삭제합니다.
원하는 폴더 삭제
명령어는 다음과 같습니다.
for /D /R . %%d IN (_objd _objr _obj _etc ipch _UpgradeReport_Files .vs x64 x86) DO @IF EXIST "%%d" rd /S /Q "%%d"
옵션 | 설명 |
---|---|
for /D /R . %%d in (_objd _objr _obj _etc ipch _UpgradeReport_Files .vs x64 x86) | 현재 디렉토리와 모든 하위 디렉토리에서 지정된 폴더 이름을 순회합니다. /D 옵션은 디렉토리만을 대상으로 하고, /R 옵션은 재귀적으로 하위 디렉토리를 포함합니다. |
@if exist "%%d" rd /S /Q "%%d" | 지정된 폴더가 존재하는 경우, /S 옵션을 사용하여 해당 폴더와 그 하위 폴더 및 파일을 모두 삭제하고, /Q 옵션을 사용하여 확인 메시지를 표시하지 않고 조용히 삭제합니다. |
삭제 할 폴더 목록 | |
_objd, _objr, _obj, _etc, ipch, _UpgradeReport_Files, .vs, x64, x86 |
삭제 할 폴더 목록을 추가로 넣어서 원하는 폴더를 삭제 할 수 있습니다.
결론
비주얼 스튜디오로 개발할 때 자동으로 생성되는 불필요한 파일과 폴더를 효율적으로 정리하는 방법을 소개했습니다. 프로젝트 빌드 시 생성되는 임시 파일과 디렉토리는 다시 빌드하면 재생성되므로 안전하게 삭제할 수 있습니다.
이를 통해 프로젝트 폴더를 깔끔하게 유지하고, 디스크 공간을 절약할 수 있습니다.
소개된 배치 파일을 사용하면 특정 확장자의 파일과 지정한 폴더를 자동으로 삭제할 수 있으며, 중요한 파일이 삭제되지 않도록 주의해야 합니다.
제공된 명령어와 배치 파일을 활용해 불필요한 파일과 폴더를 정리함으로써 개발 환경을 보다 효율적으로 관리할 수 있습니다.