파일경로 설정시 *, ** 차이

차유림·2021년 9월 12일
3

코드를 읽다보니, **/*.js 처럼 파일경로에 *, ** 이 사용되는 경우가 있는데, 두 개의 차이점은 무엇인지
느낌상 ** 은 하위 경로를 모두 선택하는 것 같지만 확실하게 정리해보고자 합니다.

** 은 예상한 대로 recursive folder 를 선택할때 사용합니다.
MSDN, Using Wildcards to Specify Items에서 아래와 같은 내용을 확인할 수 있었습니다.

? 와일드카드 문자는 단일 문자를 찾습니다.
* 와일드카드 문자는 0개 이상의 문자를 찾습니다.
** 와일드카드 문자 시퀀스는 부분 경로를 찾습니다.

예를 들어 프로젝트 파일에서 다음 요소를 사용하여 프로젝트 파일이 포함된 디렉터리의 모든 .cs 파일을 지정할 수 있습니다.
<CSFile Include="*.cs"/>
다음 요소는 D: 드라이브에 있는 모든 .vb 파일을 선택합니다.
<VBFile Include="D:/**/*.vb"/>

와일드카드 확장 없이 항목에 리터럴 * 또는 ? 문자를 포함하려면 와일드카드 문자를 이스케이프해야 합니다.

MSDN, Specifying Inputs with Wildcards에서도 다음과 같이 파일을 선택할 수 있음을 확인했습니다.

  • Images 디렉터리 및 하위 디렉터리의 모든 .jpg 파일을 포함하기
    Include="Images\**\*.jpg"

  • img 로 시작하는 모든 .jpg 파일을 포함하기
    Include="Images\**\img*.jpg"

  • 디렉터리에서 이름이 jpgs 로 끝나는 모든 파일을 포함
    Include="Images\**\*jpgs\*.*"
    Include="Images\**\*jpgs\*"

profile
🎨프론트엔드 개발자💻

0개의 댓글