아래 예제 배치에서 incno와 공 간 ie12345678 사이의 모든 것을 어떻게 추출하고이를 incno 변수에 넣을까요?배치 파일의 하위 문자열 도움말
@echo off
Set mystring=test incno12345678 wo5555 locFred Street
Echo "my string=%mystring%"
Echo incno
Echo wo
Echo loc
incno 8 ~ 11 자리가 될 수 있지만 항상 문자열에 incno과 공간 사이에있을 것입니다
그것은 내가 지금 문제가 이제 mystring에 변수에 %% d 개 변수를 할당하는 데입니다 for 루프에서. 아무도 이것으로 나를 도울 수 있습니까? 아래를 참조하십시오.
@echo off
SETLOCAL enableDelayedExpansion
color 0B
For /d %%d in ("C:\Users\%Username%\LocalData\*") do (
Echo "Folder = %%d"
Set mystring=%%d
echo "MyString = %mystring%"
pause
REM delete until (including) "incno":
set mystring=%mystring:*incno=%
echo %mystring%
REM delete starting with (including) " ":
set mystring=%mystring: =&rem %
echo "Incident Number = %mystring%"
pause
)
'set mystring = % mystring : = & rem %'은 어떻게 작동합니까? 나는 어디에서나 그 사실을 발견 할 수 없다. '& rem'은 무엇을합니까? – DavidPostill
@DavidPostill - 용지에서 교체를 수행하면 볼 수 있습니다. 연결된 REM 명령을 삽입하기 만하므로 나머지 문자열은 무시됩니다. – dbenham
@dbenham 아 물론. 또 다른 비열한 트릭 :) – DavidPostill