2014-12-01 3 views
0

일괄 스크립팅을 배우고 있습니다. 다음과 같은 도움이 필요합니다. 각 시스템마다 다를 수있는 드라이브 문자 문자열이 있습니다. - A : B : C : D : E : M : N : P :. C : 이후에 나오는 드라이브 문자를 캡처하고 싶습니다. (여기에이 문자열에는 D :). 아래의 (작동하는) 하드 코드 된 토큰 값으로 시도 :C : 드라이브 다음에 사용 가능한 드라이브 문자

FOR /F "tokens=3* delims=:" %%G IN ("A: B: C: D: E: M: N: P:") DO @echo Drive available after C is %%G 

누군가가 동적 문자열로 실행하는 방법을 도와 줄 수 있습니까? C :는 어떤 위치 에나 올 수 있습니다. 미리 감사드립니다.

답변

0

string manipulation으로 할 수 있습니다. 배치 스크립팅을 가르치는 경우 문자열 조작은 배우기에 매우 유용합니다.

@echo off 
setlocal 

:: test string 
set "drives=A: B: C: D: E: M: N: P:" 

:: strip off everything before and including C:(space) 
set "afterC=%drives:*C: =%" 

:: Keep the left two characters 
set "afterC=%afterC:~0,2%" 

echo %afterC% 
+0

감사합니다. 그것은 진짜 긴급했고 예상대로 일했습니다. 차가운 – user3180704

+0

@ user3180704 내 대답이 도움이 되었다면 동의로 표시하십시오. [이것이이 페이지를 참조하십시오] (http://meta.stackexchange.com/questions/5234/) 왜 이것이 중요한지에 대한 설명. – rojo

관련 문제