사용자 입력 일괄 처리 길이 제한

사용자 입력 일괄 처리 길이 제한

배치 파일에서 환경 변수를 설정하는 데 사용할 수 있지만 특정 문자 수로 제한할 수 있는 기본 명령이나 가볍고 간단한 타사 유틸리티가 필요합니다.

예를 들어:

여기에 메시지를 입력하세요(최대 28자):

그러면 물론 사용자는 28자만 입력할 수 있습니다.

어떤 아이디어가 있나요?

감사해요!

답변1

여기저기 찾아본 결과 xcopy가장 확실한 선택인 것 같았습니다.

set "key="
for /f "delims=" %%A in ('xcopy /w "%comspec%" "%comspec%" 2^>nul') do if not defined key set "key=%%A"
set "key=!key:~-1!"

입력을 작성할 수 있는 키를 가져옵니다.

if "!input:~-%length%!" == "!input!"

길이를 확인할 수 있습니다(귀하의 경우 28).


당신은 또한input.bat내가 쓴 대본. 매크로를 사용하면 스크립트의 출력을 가져올 수 있습니다. 먼저 매크로를 선언합니다.

set input=^
for %%. in (1 2) do if %%.==2 (^
    for /F "delims=" %%I in ('input.bat !args!') do ^
        set "result=%%I"^
) else set args=

그런 다음 다음과 같이 사용합니다.

setlocal EnableDelayedExpansion
%input% "prompt=Password: " "length=28"

result그런 다음 변수를 사용하여 입력을 얻을 수 있습니다.

중요한

매크로 지연 확장을 정의하려면 다음이 필요합니다.장애가 있는. 그러나 사용하는 동안 지연된 확장이 필요합니다.활성화됨.


자원

엑스카피 입력-DosTips.com

배치 매크로-DosTips.com

관련 정보