
배치 파일에서 환경 변수를 설정하는 데 사용할 수 있지만 특정 문자 수로 제한할 수 있는 기본 명령이나 가볍고 간단한 타사 유틸리티가 필요합니다.
예를 들어:
여기에 메시지를 입력하세요(최대 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