Hola de nuevo.
Vengo pidiendo mas ayuda para crear las listas. He estado un par de dias haciendo otras partes del script, como cambiar propiedades de impresoras, realizar backup de propiedades, restaurar, cambiar puertos, crearlos etc, pero ha llegado la hora de generar las listas y ahi me surgen los problemas.
El objetivo que tengo en mente es que cuando me aparezca el nombre de todas las impresoras pueda elegir una de ellas, esto lo hago con un set
set /p opcion="Elige una impresora: "
Pero claro para distinguir que impresora elijo de la lista mi idea es crear lo siguiente
[1] --- Impresora 1
[2] --- Impresora 2
[3] --- Impresora 3
Que al poner un numero haga una comprobacion
if %opcion% EQU 1 (XXXXXXXXX) else (XXXXXXX)
if %opcion% EQU 2 (XXXXXXXXX) else (XXXXXXX)
if %opcion% EQU 3 (XXXXXXXXX) else (XXXXXXX)
Ahi viene mi problema no se como crear esto.
Empiezo con intentar que en cada impresora salga un numero correspondiente, pense en un contador, pero lo maximo que consigo es que me salga de esta forma
[1] --- Impresora 1
[1] --- Impresora 2
[1] --- Impresora 3
Osa siempre el mismo numero
Uso esto.
FOR /F "tokens=3,*" %%a in ('cscript prnmngr.vbs -l ^| find "Nombre de impresora"') DO set /a impresoras=1+impresoras
echo [%impresoras%] --> %%b
Para mostrar la lista
Donde previamente he inicializado un contador a 1 al principio del script
Pero como he dicho antes solo me sale un numero, he probado a usar el for con parentesis y sin parentesis (salen cosas distintas, pero no se por que), en usar el comando con !! en vez de %% ya que uo un set dentro de un for (perviamente tengo setlocal enabledelayedexpansion)
Ademas que no se como puedo generar los set %opcion% EQU 1 ...
Como no me salia pense que si solo elijo una impresora el nombre se guarda en variable y ya puedo trabajar con ella, por lo que no haria falta escribir tantas comprobaciones como impresoras tenga.
La pregunta es, como puedo hacer esto, es decir, escribir el numero de la lista en vez de tener que escribir el nombre completo de la impresora???
Espero haberme expresado bien, muchas gracias por vuestra ayuda.