
Necesito un comando nativo o una utilidad de terceros simple y liviana que pueda usar para configurar una variable de entorno en un archivo por lotes, pero limitarla a una cierta cantidad de caracteres.
Por ejemplo:
Introduzca el mensaje aquí (28 caracteres como máximo):
Entonces, por supuesto, el usuario sólo puede introducir 28 caracteres.
¿Algunas ideas?
¡Gracias!
Respuesta1
Después de buscar, xcopy
parecía ser la opción más sólida.
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!"
busca una clave, con la que puedes construir la entrada.
if "!input:~-%length%!" == "!input!"
permite comprobar la longitud (en su caso 28).
También puedes elinput.bat
guión que escribí. Al utilizar una macro, puede recuperar el resultado del script. Primero declaras la macro:
set input=^
for %%. in (1 2) do if %%.==2 (^
for /F "delims=" %%I in ('input.bat !args!') do ^
set "result=%%I"^
) else set args=
entonces lo usas así:
setlocal EnableDelayedExpansion
%input% "prompt=Password: " "length=28"
Luego puede usar la result
variable para obtener su entrada.
IMPORTANTE
Para definir la expansión macro retrasada es necesarioDESACTIVADO. Sin embargo, mientras se usa, es necesario corregir la expansión retrasada.ACTIVADO.
Recursos
xcopiar entrada-DosTips.com
macros por lotes-DosTips.com