지정된 문자를 얻기 위해 배치 파일에서 계산을 수행하는 방법

user3085836

선택한 캐릭터를 얻는 방법

for %%A in (controls\vbalSGrid6.ocx) do (
    SET TEXT=%A%
    SET SUBSTRING=%TEXT:~9%
    echo %SUBSTRING%
)

이것은 에코가 꺼져 있지만 나는 필요합니다 vbalsgrid6.ocx.

MC ND

직접적인 방법

set "text=controls\vbalscrid6.ocx"
set "substring=%text:~9%"

대한 필요가 없습니다 for명령, 당신은 파일 세트 이상 반복하는이다하거나 파일 이름을 얻기 위해 작업을 하위 문자열 사용하지 않는 한

파일의 이름과 확장자를 얻는 쉬운 방법

for %%a in (controls\vbalsgrid6.ocx) do set "fileName=%%~nxa"

%%a파일에 대한 참조를 보유하고 참조 된 파일 %%~nxa의 파일 이름 및 확장자입니다.

코드 의 직접 번역 / 수정 된 버전 (이 경우 파일 목록을 반복하지만 필요하지 않음)

@echo off

setlocal enableextensions enabledelayedexpansion

for %%a in (controls\*.ocx) do (
    set "text=%%a"
    set "substring=!text:~9!"
    echo !substring!
)

배치 파서가 코드 줄 / 블록 (괄호 안의 코드)에 도달하면 변수를 읽을 위치를 검색하여 전체 줄 / 블록을 확인합니다. 이 모든 읽기는 라인 / 블록이 실행 되기 전에 구문 분석시 변수에 저장된 값으로 대체됩니다 . 즉, 변수가 블록 내에서 값을 변경하면이 변경된 값은 변수에 대한 읽기 작업이 이전에 그 안에 저장된 초기 값으로 대체되었으므로 동일한 블록 내에서 액세스 할 수 없습니다.

이 경우를 처리하기 위해 지연된 확장이 사용됩니다. 지연 확장을 사용할 수있는 경우에서, 변수를 판독하는 구문 (필요한) 변경할 수 %var%!var!명령이 실행될 때까지 판독 동작이 지연되어야하는 파서 나타낸다.

포함 된 코드는 !파일 이름에 없는 동안 작동 합니다. 지연된 확장이 활성화되면 파서가 any를 해석하려고 시도하여 !경우에 따라 예상치 못한 결과를 제공합니다. 처리 할 수 ​​있지만 때로는 약간 까다로울 수 있습니다.

@echo off

    setlocal enableextensions disabledelayedexpansion

    for %%a in (controls\*.ocx) do (
        rem Retrieve the initial text. No problem as delayed expansion is disabled
        set "text=%%a"

        rem Enable delayed expansion to read the value in %text%. And ensure  
        rem it is disabled at the moment of the assignment to the substring var
        setlocal enabledelayedexpansion
        set "substring="
        for /f "delims=" %%b in ("!text:~9!") do (endlocal & set "substring=%%b")

        rem We need delayed expansion enabled to read the changed value 
        rem If substring is empty, the previous endlocal was not executed and 
        rem there is no need for a new setlocal
        if defined substring setlocal enabledelayedexpansion
        echo(substring value=!substring!
        endlocal
    )

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파이썬에서 열의 변수 위치를 기반으로 행을 계산하는 방법

분류에서Dev

일치 수를 계산하기 위해 문자열 열을 나열 해제하는 방법은 무엇입니까?

분류에서Dev

수정을 위해 문서 내에서 정규식을 사용하여 문자열의 전체 일치를 수행하는 방법

분류에서Dev

행렬을 얻기 위해 행 벡터와 열 벡터에서 계산을 수행하는 방법

분류에서Dev

계산을 수행하기 위해 특정 이중 "for"루프를 수행하는 방법

분류에서Dev

CSS : 스크롤바를 가져 오는 대신 창을 사용하여 수평으로 크기를 조정하기 위해 배치 된 div를 얻는 방법

분류에서Dev

대소 문자를 구분하지 않고 정확한 단어 일치를 찾기 위해 정규식을 수정하는 방법은 무엇입니까?

분류에서Dev

아파치 POI로 지정된 파워 포인트 파일에서 정확하게 발표자 노트를 얻을 수있는 방법이 있나요?

분류에서Dev

위치 인수 뒤에 옵션이있는 파일에서 인수를 읽기 위해 argparse를 얻는 방법

분류에서Dev

txt 파일 (배치)에서 지정된 줄을 읽는 방법

분류에서Dev

문자의 처음 두 단어를 알기 위해 정규식과 문자열을 일치시키는 방법

분류에서Dev

계획을 유지하기 위해 '를 얻는 방법

분류에서Dev

특정 문자로 시작하는 특정 값 목록을 얻기 위해 문자열 배열에서 검색하는 방법?

분류에서Dev

평균을 계산하기 위해 배열에서 재귀를 사용하는 방법은 무엇입니까?

분류에서Dev

파일에서 vim을 사용하여 특정 문자 수를 얻는 방법

분류에서Dev

서명을 계산하기 전에 xml 문서에서 서명 위치를 지정하는 방법은 무엇입니까?

분류에서Dev

계산을 위해 활동에 정수를 저장하는 방법

분류에서Dev

배열에 배치하기 위해 자바 스크립트 문자열을 패턴 분할하는 방법

분류에서Dev

문자열에 배치 파일의 하위 문자열이 포함되어 있는지 확인하기 위해 하위 문자열을 사용하는 문제

분류에서Dev

다른 배치 파일에 쓰도록 지시하기 위해 배치 파일에 쓰는 방법

분류에서Dev

루아 문자열에서 하위 배열의 수를 계산하는 방법

분류에서Dev

C # 사용 .txt 파일의 특정 줄에서 특정 문자 (위치 기준)를 변경하는 방법

분류에서Dev

CMake : 소스 파일을 생성하기 위해 여러 파일에서 사용자 지정 명령을 실행하는 방법은 무엇입니까?

분류에서Dev

일부 작업을 수행하기 위해 Node.js에서 키 시퀀스를 감지하는 방법

분류에서Dev

Safari에서 calc ()를 사용하는 계산 된 위치 스타일을 얻을 수 없습니다.

분류에서Dev

"정수 배열에서 중복 찾기"를 해결하기 위해이 방정식을 푸는 방법

분류에서Dev

값을 얻기 위해 배열 객체를 얻는 방법

분류에서Dev

많은 파일을 실행하기 위해 루프를 수행하는 방법

분류에서Dev

SQL Server를 쿼리하기 위해 sqlcmd를 호출하는 배치 파일을 작성하는 방법과 인스턴스에 연결할 수없는 경우 서버 이름을 로그 파일에 에코하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    파이썬에서 열의 변수 위치를 기반으로 행을 계산하는 방법

  2. 2

    일치 수를 계산하기 위해 문자열 열을 나열 해제하는 방법은 무엇입니까?

  3. 3

    수정을 위해 문서 내에서 정규식을 사용하여 문자열의 전체 일치를 수행하는 방법

  4. 4

    행렬을 얻기 위해 행 벡터와 열 벡터에서 계산을 수행하는 방법

  5. 5

    계산을 수행하기 위해 특정 이중 "for"루프를 수행하는 방법

  6. 6

    CSS : 스크롤바를 가져 오는 대신 창을 사용하여 수평으로 크기를 조정하기 위해 배치 된 div를 얻는 방법

  7. 7

    대소 문자를 구분하지 않고 정확한 단어 일치를 찾기 위해 정규식을 수정하는 방법은 무엇입니까?

  8. 8

    아파치 POI로 지정된 파워 포인트 파일에서 정확하게 발표자 노트를 얻을 수있는 방법이 있나요?

  9. 9

    위치 인수 뒤에 옵션이있는 파일에서 인수를 읽기 위해 argparse를 얻는 방법

  10. 10

    txt 파일 (배치)에서 지정된 줄을 읽는 방법

  11. 11

    문자의 처음 두 단어를 알기 위해 정규식과 문자열을 일치시키는 방법

  12. 12

    계획을 유지하기 위해 '를 얻는 방법

  13. 13

    특정 문자로 시작하는 특정 값 목록을 얻기 위해 문자열 배열에서 검색하는 방법?

  14. 14

    평균을 계산하기 위해 배열에서 재귀를 사용하는 방법은 무엇입니까?

  15. 15

    파일에서 vim을 사용하여 특정 문자 수를 얻는 방법

  16. 16

    서명을 계산하기 전에 xml 문서에서 서명 위치를 지정하는 방법은 무엇입니까?

  17. 17

    계산을 위해 활동에 정수를 저장하는 방법

  18. 18

    배열에 배치하기 위해 자바 스크립트 문자열을 패턴 분할하는 방법

  19. 19

    문자열에 배치 파일의 하위 문자열이 포함되어 있는지 확인하기 위해 하위 문자열을 사용하는 문제

  20. 20

    다른 배치 파일에 쓰도록 지시하기 위해 배치 파일에 쓰는 방법

  21. 21

    루아 문자열에서 하위 배열의 수를 계산하는 방법

  22. 22

    C # 사용 .txt 파일의 특정 줄에서 특정 문자 (위치 기준)를 변경하는 방법

  23. 23

    CMake : 소스 파일을 생성하기 위해 여러 파일에서 사용자 지정 명령을 실행하는 방법은 무엇입니까?

  24. 24

    일부 작업을 수행하기 위해 Node.js에서 키 시퀀스를 감지하는 방법

  25. 25

    Safari에서 calc ()를 사용하는 계산 된 위치 스타일을 얻을 수 없습니다.

  26. 26

    "정수 배열에서 중복 찾기"를 해결하기 위해이 방정식을 푸는 방법

  27. 27

    값을 얻기 위해 배열 객체를 얻는 방법

  28. 28

    많은 파일을 실행하기 위해 루프를 수행하는 방법

  29. 29

    SQL Server를 쿼리하기 위해 sqlcmd를 호출하는 배치 파일을 작성하는 방법과 인스턴스에 연결할 수없는 경우 서버 이름을 로그 파일에 에코하는 방법은 무엇입니까?

뜨겁다태그

보관