Necesito pasar un ID y una contraseña a un archivo por lotes en el momento de la ejecución en lugar de codificarlos en el archivo.
Esto es lo que parece la línea de comandos:
test.cmd admin P@55w0rd > test-log.txt
Otro consejo útil es utilizar %*
para significar "todo". Por ejemplo:
echo off
set arg1=%1
set arg2=%2
shift
shift
fake-command /u %arg1% /p %arg2% %*
Cuando se ejecuta
test-command admin password foo bar
se ejecutará el archivo por lotes anterior:
fake-command /u admin /p password admin password foo bar
Puede que tenga la sintaxis ligeramente equivocada, pero esta es la idea general.
Sí, y no te olvides de usar variables como %%1
cuando uses si
y para
y la pandilla.
Si te olvidas del doble %
, entonces estarás sustituyendo en argumentos de línea de comandos (posiblemente nulos) y recibirás algunos mensajes de error bastante confusos.