배치 cmd 파일에서 문자열 입력 제한

브라

나는 이것을 해결하는 방법에 대해 내 머리를 이해할 수 없다. 다음 코드가 있습니다.

:userinfo
set U=U
set /p EmployeeID=Please enter Employee ID:
for /f "tokens=1* delims=0123456789XC" %%a in ("A0%EmployeeID:"=%") do if not "%%b"=="" echo Only numbers, except X and C, case sensitive! && goto userinfo

잘 작동하지만 입력 문자를 7 자로 제한하고 싶습니다. 최대 7자가 아닌 7 자 여야 함을 의미합니다.

나는 시도 if not "!EmployeeID:~7! == "" echo 7 characters required. & goto userinfo했지만 작동하지 않습니다.

고칠 수있는 '간단한'일이라고 확신합니다 ..

aschipfl

문자열이 7 자 이하인 경우 조건 if "!EmployeeID:~7!"=="" 으로 평가됩니다 ( 때문에 지연된 확장 이 활성화 된 경우 !!).

당신의 작업을 해결하려면 두 번째 조건을 적용 if not "!EmployeeID:~6!"==""입니다 진정한 문자열이 적어도 7 자입니다 경우.

그런 다음 두 조건을 연결합니다.

:userinfo
set /p EmployeeID="Please enter Employee ID: "
for /f "tokens=1* delims=0123456789XC" %%a in ("A0%EmployeeID:"=%") do (
    if not "%%b"=="" (
        echo Only numbers, except X and C, case sensitive^^!
        goto userinfo
    )
)
if "!EmployeeID:~7!"=="" if not "!EmployeeID:~6!"=="" (
    rem Both conditions fulfilled, so continue
    goto continue
) else (
    echo 7 characters required.
    goto userinfo
)
:continue

다른 방법은를 사용 findstr하는 것입니다. 다음과 같이 문자 집합과 길이를 모두 확인할 수 있습니다.

:userinfo
set "EmployeeID="
set /p EmployeeID="Please enter Employee ID: "
echo(!EmployeeID!|findstr "^[0-9XC][0-9XC][0-9XC][0-9XC][0-9XC][0-9XC][0-9XC]$" 2> nul || (
    echo 7 characters, only numbers, X and C, case-sensitive^^!
    goto :userinfo
)

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

cmd 배치 파일의 '유형'에서 문자 제거

분류에서Dev

cmd 배치 파일의 '유형'에서 문자 제거

분류에서Dev

배치 / CMD 파일은 시간 초과에 대한 사용자 입력을 수락합니다.

분류에서Dev

배치 파일을 사용하여 문자를 입력하여 cmd에서 작업 수행

분류에서Dev

.txt 파일에서 읽은 문자열을 배열에 입력

분류에서Dev

cmd 배치 파일 제거 문자 실패

분류에서Dev

json android에서 입력하고 구문 분석 한 일치 문자열

분류에서Dev

입력 제곱과 동일한 배열에서 제곱 된 두 숫자 찾기

분류에서Dev

입력 문자열에서 .exe 파일을 코드로 해제

분류에서Dev

C에서 사용자 입력 배열의 주파수 분석 문제

분류에서Dev

입력 파일에서 배열로의 복잡한 읽기

분류에서Dev

Java에서 문자열 배열에 대한 사용자 입력 가져 오기

분류에서Dev

Java에서 문자열 배열에 대한 사용자 입력 가져 오기

분류에서Dev

탄력적 검색 : 문자열 배열에 대한 정확히 일치 쿼리

분류에서Dev

배치 파일의 문자열에 문자 삽입

분류에서Dev

원격 컴퓨터의 배치 파일 입력 문제

분류에서Dev

사용자 입력에 기반한 가중치 배열

분류에서Dev

루프에서 lm ()에 대한 문자열 입력 문제

분류에서Dev

배치 파일에서 숫자 입력 만 확인

분류에서Dev

구조 배열 문제 및 사용자 정수 입력에서 배열 문자열 가져 오기

분류에서Dev

문자열 배열 무한 루프에 대한 C ++ 사용자 입력

분류에서Dev

부호없는 문자 배열에 대한 입력

분류에서Dev

부호없는 문자 배열에 대한 입력

분류에서Dev

C-문자 사용자 입력과 동일한 배열의 문자 문자열 정렬

분류에서Dev

배치를 사용하여 여러 파일에서 특정 문자 뒤에 문자열을 삭제하는 방법은 무엇입니까?

분류에서Dev

배치 파일에서 빈 사용자 입력 확인 (입력 없음)

분류에서Dev

한 줄 배치 파일에 드라이브의 파일을 삭제할 때 사용자 입력이 필요한 이유는 무엇입니까?

분류에서Dev

개체 배열에 대한 입력 문제

분류에서Dev

명령 인 cmd.exe를 실행 한 다음 프롬프트에서 열려있는 배치 파일

Related 관련 기사

  1. 1

    cmd 배치 파일의 '유형'에서 문자 제거

  2. 2

    cmd 배치 파일의 '유형'에서 문자 제거

  3. 3

    배치 / CMD 파일은 시간 초과에 대한 사용자 입력을 수락합니다.

  4. 4

    배치 파일을 사용하여 문자를 입력하여 cmd에서 작업 수행

  5. 5

    .txt 파일에서 읽은 문자열을 배열에 입력

  6. 6

    cmd 배치 파일 제거 문자 실패

  7. 7

    json android에서 입력하고 구문 분석 한 일치 문자열

  8. 8

    입력 제곱과 동일한 배열에서 제곱 된 두 숫자 찾기

  9. 9

    입력 문자열에서 .exe 파일을 코드로 해제

  10. 10

    C에서 사용자 입력 배열의 주파수 분석 문제

  11. 11

    입력 파일에서 배열로의 복잡한 읽기

  12. 12

    Java에서 문자열 배열에 대한 사용자 입력 가져 오기

  13. 13

    Java에서 문자열 배열에 대한 사용자 입력 가져 오기

  14. 14

    탄력적 검색 : 문자열 배열에 대한 정확히 일치 쿼리

  15. 15

    배치 파일의 문자열에 문자 삽입

  16. 16

    원격 컴퓨터의 배치 파일 입력 문제

  17. 17

    사용자 입력에 기반한 가중치 배열

  18. 18

    루프에서 lm ()에 대한 문자열 입력 문제

  19. 19

    배치 파일에서 숫자 입력 만 확인

  20. 20

    구조 배열 문제 및 사용자 정수 입력에서 배열 문자열 가져 오기

  21. 21

    문자열 배열 무한 루프에 대한 C ++ 사용자 입력

  22. 22

    부호없는 문자 배열에 대한 입력

  23. 23

    부호없는 문자 배열에 대한 입력

  24. 24

    C-문자 사용자 입력과 동일한 배열의 문자 문자열 정렬

  25. 25

    배치를 사용하여 여러 파일에서 특정 문자 뒤에 문자열을 삭제하는 방법은 무엇입니까?

  26. 26

    배치 파일에서 빈 사용자 입력 확인 (입력 없음)

  27. 27

    한 줄 배치 파일에 드라이브의 파일을 삭제할 때 사용자 입력이 필요한 이유는 무엇입니까?

  28. 28

    개체 배열에 대한 입력 문제

  29. 29

    명령 인 cmd.exe를 실행 한 다음 프롬프트에서 열려있는 배치 파일

뜨겁다태그

보관