2009-06-05 5 views
0

에서 하위 폴더에 파일 이름을 확인합니다. 구성 파일 이름은 동일하게 유지됩니다.내가이 같은 디렉토리 구조를 가지고 배치 파일

구성 파일에 프로그램을 여는 배치 파일을 작성하고 싶습니다. 배치 파일은 중간 폴더의 이름과 관계없이 동일하게 유지되어야합니다. 구성 파일은 루트 아래에 이름이있는 유일한 파일입니다.

배치 파일 내에서 구성 파일의 경로를 일관되게 얻으려면 어떻게해야합니까?

답변

1

여기에 정보가 누락 된 것처럼 보입니다. 배치 파일에는 버전이 지정된 폴더 이름이 무엇인지 간단히 파악해야합니다. 규칙이 있습니까? 항상 최신 버전 폴더를 원하십니까? 그렇다면 배포 버전의 이름을 어떻게 지정합니까?

업데이트 : 그래서 당신은 하나의 하위 폴더합니다 (버전 폴더)를 가지고 있고 항상 그 하위 폴더에 고정 된 파일 이름에 대한 몇 가지 호출을 실행하기 위해 고정 된 배치 파일을 원하는 경우, 당신은이 작업을 수행 할 수 있습니다 :

@for /f "tokens=* delims= " %%a in ('@dir /ad /b') do @set FOLDER=%%a 
echo %FOLDER% 
call notepad %FOLDER%\test.config 

분명히 test.config를 폴더의 고정 된 이름으로 변경하십시오.

귀하의 요구 사항을 충족합니까 ...?

+0

이 시나리오에서 "구성 파일은 루트 아래에 이름이있는 유일한 파일이됩니다"라는 것을주의하십시오. 파일 이름에 대한 재귀 검색은 내가 찾고있는 것입니다. – JoshL

+0

나는 그것을 이해하지 못했다. 당신의 질문은 이제 더 이해가된다. 설정 파일의 이름은 각 버전마다 고유합니까? 또는 파일을 열어 일부 값을 확인해야합니까? –

+0

글쎄,이 경우 버전이 지정된 하위 폴더는 하나뿐입니다. 배치 파일이 구성 파일을 수정하면 버전이있는 폴더가 이름에 다른 버전 번호가있는 여러 폴더가있는 위치에 복사됩니다. – JoshL

0

dir/s/b configfile을 사용하여 파일 경로를 가져올 수 있습니다. 이것을 변수에 저장하면 % variable : ~ 0, -x %를 사용하여 파일 이름을 제거 할 수 있습니다. x는 파일 이름 길이입니다.

희망이 도움이됩니다.

+0

서브 루틴을 사용하여 전체 파일 이름을 % ~ nx1로 얻을 수 있습니다. – Joey

관련 문제