Windows 배치 프로그래밍에서 일부 하위 문자열을 수행하려고하는데 Linux 스크립팅만큼 쉽지 않은 것 같습니다.Windows 배치 프로그래밍에서 변수 사용
다음은 제 코드입니다.
set ENV_STRING=-Dhello.env=hello -Dhello.alt.dir=C:\Works\download -Dhello.type=DDDDD
set START_INDEX=34
set END_INDEX=51
SET newStr=%ENV_STRING:~%START_INDEX%,%END_INDEX%%
START_INDEX 및 END_INDEX는 사용자가 제공 할 ENV_STRING에 따라 변경됩니다. START_INDEX 및 END_INDEX에 정적 변수를 사용하여 이러한 변수가 사용되었음을 보여줍니다. ENV_STRING에서 hello.alt.dir의 값을 추출하기 만하면됩니다.
newStr을 출력 할 때 문자열을 부분 문자열로 처리하지 않습니다.
누군가가 잘못된 부분을 지적 할 수 있습니까?
감사합니다.
질문이 확실하지 않으므로 원하는 결과를 제시하십시오. – jfatal
ENV_STRING에서 '-Dhello.alt.dir'의 값인 'C : \ Works \ download'만 추출하고 싶습니다. – user826323
지연된 확장이있는'SET newStr =! ENV_STRING : ~ % START_INDEX %, % END_INDEX %!'또는'CALL SET newStr = %% ENV_STRING : ~ % START_INDEX %, % END_INDEX %%%'를 사용하십시오. [이 답변] (http://stackoverflow.com/questions/10166386/arrays-linked-lists-and-other-data-structures-in-cmd-exe-batch-script/10167990#10167990)을 읽어 보시기 바랍니다. 주제가 다르긴하지만이 관리에 대해 설명합니다. – Aacini