중첩된 폴더가 있는 프로젝트가 있습니다.
"build.bat" 파일이 발견될 때까지 디렉토리를 재귀적으로 찾아 실행하고 싶습니다.
명령줄에서 이 작업을 어떻게 수행할 수 있나요? (즉, 배치 파일 자체가 아닙니다).
배경(선택 사항): vim의 컴파일러 및 makeprg 설정을 활용하여 프로젝트 어딘가에 있는 빌드 파일을 실행하고 출력을 빠른 팁으로 리디렉션하려고 합니다.
답변1
특정 프로젝트 루트 폴더가 d:\Remote
현재 작업 디렉터리라고 가정합니다. 그런 다음 (명령 프롬프트 창에서 복사하여 붙여넣기):
d:\Remote>for /F "delims=" %G in ('dir /b /s build.bat') do @echo "%~G"
"d:\Remote\bat\test\build.bat"
그러면 간단하게 제거할 수 있습니다 @echo
...
다른 작업 디렉토리에 있는 경우:
d:\bat>for /F "delims=" %G in ('dir /b /s "d:\Remote\build.bat"') do @echo "%~G"
"d:\Remote\bat\test\build.bat"
메모하나 이상의 파일을 찾을 수 있습니다. 제거 되면 @echo
발견된 모든 항목이 실행됩니다.
d:\Remote>for /F "delims=" %G in ('dir /b /s cdn.bat') do @echo "%~G"
"d:\Remote\bat\cdn.bat"
"d:\Remote\bat\test\cdn.bat"
자원(필수 읽기):
- (명령 참조)Windows CMD 명령줄의 AZ 인덱스
- (추가 특징)Windows CMD 셸 명령줄 구문
- (
%~G
등 특별 페이지)명령줄 인수(Parameters)