Hola,
Tengo un fichero por lotes para la creación de usuarios y grupos. En el siguiente caso los usuarios ya están previamente creados, y el siguiente código crearía los grupos y asignaría los usuarios al grupo de turnos correspondiente en base al turno que tengan.
Este sería el fichero empleados.txt que se le pasaría al for para recorrerlo:
#Apellido1;Apellido2;Nombre;Cargo;Turno
ape1;ape2;user1;Administrativo;7:00 a 15:00
ape1;ape2;user2;Administrativo;7:00 a 15:00
ape1;ape2;user3;Administrativo;7:00 a 15:00
ape1;ape2;user4;Administrativo;7:00 a 15:00
ape1;ape2;user5;Administrativo;15:00 a 23:00
ape1;ape2;user6;Administrativo;15:00 a 23:00
ape1;ape2;user7;Administrativo;15:00 a 23:00
ape1;ape2;user8;Administrativo;15:00 a 23:00
ape1;ape2;user9;Jefe Departamento;7:00 a 23:00
El fichero por lotes tendría el siguiente código:
setlocal enabledelayedexpansion
net localgroup Manana /add
net localgroup Tarde /add
net localgroup Jefes /add
net localgroup "Administradores" "Jefes" /add
for /f "eol=# delims=; tokens=1-5" %%i in (empleados.txt) do (
set apellido1=%%i
set apellido2=%%j
set nombre=%%k
set cargo=%%l
set turno=%%m
set login=!nombre!!apellido1:~0,1!!apellido2:~0,1!
set manana="7:00 a 15:00"
set tarde="15:00 a 23:00"
set matarde="7:00 a 23:00"
if "%turno%" == "%manana%" net localgroup "Manana" "!login!" /add
if "%turno%" == "%tarde%" net localgroup "Tarde" "!login!" /add
if "%turno%" == "%matarde%" net localgroup "Jefes" "!login!" /add
)
Básicamente lo que me está fallando es las condiciones, en la siguiente condición por ejemplo.
if "%turno%" == "%manana%
Por lo que entiendo es que siempre se va cumplir?? o es lo que hace al ejecutar el script. Sin embargo, yo no lo veo tan claro, ya que si no se cumple saltaría al siguiente if hasta llegar al que se cumpla, sino se cumple ninguno saldría de la ejecución no?
Gracias y saludos!