2017-12-09 4 views
0

문자열을 분리하려고합니다. ,bat 명령 - 문자열을 오른쪽에서 왼쪽으로 제거합니다.

시나리오 아래의 세부 사항을 발견하십시오

set test1=“C:A\B\C\D\X\Y\Z” 
set test2=“D:A\B\X\Y\Z” 

echo %test1% 
echo %test2% 

나는 제거해야 "\ X \ Y \ Z"그리고 난 나머지 문자열이 필요합니다. 기대는 경우이

+0

먼저 명령 행에서 'set var = text'를 사용한 후 'echo % var %'(으)로 문자열 출력이 표시되지 않습니다.] (https://stackoverflow.com/a/26388460/3074564)에서 환경 변수를 올바르게 정의하는 방법을 이해하십시오. 그리고'''또는''', 단지'''를 사용하지 말고 명령 프롬프트 창'set /? '에서 실행하고 도움말 출력을 여러 페이지의 창으로 읽으십시오. 당신의 예제에서'echo % test1 : \ X \ Y \ Z = %'와'echo % test2 : \ X \ Y \ Z = %'는 원하는 결과를 출력합니다 – Mofi

답변

1

을 읽는 당신이 알고있는 문자열을 제거하지 않습니다에 대한 출력 아래처럼

echo C:A\B\C\D 
echo D:A\B 

감사를 인쇄하지만, "최대 세"폴더 이름을 원하는해야입니다 :

set "test1=C:\A\B\C\D\X\Y\Z" 
for %%a in ("%test1%\..\..\..") do echo %%~fa 
+0

고마워요. 잘 했어! – Riv