Pregunta Usa los datos de la cadena de entrada como un conjunto de variables


Quiero extraer algunos datos de la cadena de entrada (por ejemplo, nombre1, nombre2, nombre3 ...) y luego usarlos como variables (por ejemplo, var1 = nombre1, var2 = nombre2, varN = nombreN). La cantidad de 'nombres' puede ser diferente. Quiero aplicar un conjunto de comandos para estas variables en un ciclo FOR más adelante en el script.


1


origen


¿Las variables están separadas por comas en su cadena de entrada? - iglvzx
sí, cualquier delimitador en realidad - Anna


Respuestas:


Puedes usar un bucle "para cada" así:

set params=param1,param2,param3

for %%p in (%params%) do (
    :: do something with %%p
)

Aparte de una coma ,, los otros delimitadores válidos son:

  • un punto y coma ;
  • un signo igual =
  • un personaje de espacio
  • un caracter de tabulación

Ejemplo:

Guión:

@echo off

set params=param1,param2,param3

for %%p in (%params%) do (
    echo %%p
)

Salida:

param1
param2
param3

0