티스토리 뷰


목 차


    visualstudio 프로젝트 빌드 불필요 파일 삭제
    visualstudio 프로젝트 빌드 불필요 파일 삭제

     

    안녕하세요 오늘은 비주얼스튜디오로 개발 진행시 프로젝트 빌드 할때 자동으로 생성되는 파일에 대해 알아보고 삭제 가능한 파일들을 하위 폴더까지 검색해서 자동으로 삭제해주는 명령어를 통해 배치 파일을 만들어 한방에 편리하게 정리하는 방법을 공유해 드리겠습니다.

    자동생성 파일 지우기 실행 파일

    배치파일을 제공해 드립니다. 아래를 클릭하여 다운로드 받아가시면 됩니다.

    다만, 아래 내용을 꼭 확인 하셔서 중요한 파일이 삭제되지 않도록 수정하여 사용하세요!

     

    파일 지우개 바로 다운로드Hand Icon

     

    자동으로 생성되는 파일 목록

    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

     

    삭제 할 폴더 목록을 추가로 넣어서 원하는 폴더를 삭제 할 수 있습니다.

     

    결론

    비주얼 스튜디오로 개발할 때 자동으로 생성되는 불필요한 파일과 폴더를 효율적으로 정리하는 방법을 소개했습니다. 프로젝트 빌드 시 생성되는 임시 파일과 디렉토리는 다시 빌드하면 재생성되므로 안전하게 삭제할 수 있습니다.

    이를 통해 프로젝트 폴더를 깔끔하게 유지하고, 디스크 공간을 절약할 수 있습니다.

    소개된 배치 파일을 사용하면 특정 확장자의 파일과 지정한 폴더를 자동으로 삭제할 수 있으며, 중요한 파일이 삭제되지 않도록 주의해야 합니다.

    제공된 명령어와 배치 파일을 활용해 불필요한 파일과 폴더를 정리함으로써 개발 환경을 보다 효율적으로 관리할 수 있습니다.