elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Batch] BUCLE FOR se repite varias veces
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Batch] BUCLE FOR se repite varias veces  (Leído 5,588 veces)
wareware

Desconectado Desconectado

Mensajes: 2


Ver Perfil
[Batch] BUCLE FOR se repite varias veces
« en: 28 Agosto 2011, 17:23 pm »

Hola, quería comentar lo que me pasa con este Script:
Código:
FOR /L %%g IN (3,1,25) DO (
for /F "tokens=*" %%i in (Q:\Listado.txt) do (
net user %%i%%g user%%g /comment:"%%i" /add
)
)

En el txt hay un listado de 23 usuarios
Me crea los usuarios sin problema
pero el bucle no se cierra y lo repite varias veces
con el consiguiente error: "usuario ya existe"

El primer FOR debe empezar por el 3 ya que esta relacionado con el password del usuario

Gracias por vuestra ayuda.


« Última modificación: 28 Agosto 2011, 20:26 pm por Leo Gutiérrez. » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: BUCLE FOR se repite varias veces
« Respuesta #1 en: 28 Agosto 2011, 20:25 pm »

La sintáxis está bien, la lógica no. Debes de tener en cuenta que por cada iteración del bucle externo se iterará 23 veces (los 23 usuarios que tienes en el txt).

Quizá esto te sirva (no probado):
Código:
@echo off
setlocal enabledelayedexpansion
set /a contador=3
for /F "tokens=*" %%i in (Q:\Listado.txt) do (
net user %%i!contador! user!contador! /comment:"%%i" /add
set /a contador+=1
)


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
wareware

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: [Batch] BUCLE FOR se repite varias veces
« Respuesta #2 en: 28 Agosto 2011, 21:12 pm »

Perfectamente claro. Muchas gracias por la respuesta, Muy aclaratoria y funciona perfectamente.

Si en vez de utilizar bucle numerico fuese todo texto, la estructura sería correcta?
O hay otra forma mas correcta de escribirlo? He leido que usar un FOR dentro de otro no es muy correcto.

Por ejemplo:

Código:
for /F "tokens=*" %%i in (Usuarios.txt) do (
for /F "tokens=*" %%j in (Passwords.txt) do (
net user %%i %%j /comment:"%%i" /add
)
)

Gracias por la ayuda
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: [Batch] BUCLE FOR se repite varias veces
« Respuesta #3 en: 28 Agosto 2011, 22:59 pm »


Si en vez de utilizar bucle numerico fuese todo texto, la estructura sería correcta?

Habría que ver el caso, no sé decirte con exactitud, pero la solución que te dí es la más indicada en Batch, en otro lenguaje se podrían hacer mejoras y posiblemente la solución te quede en dos líneas o quizás una.

O hay otra forma mas correcta de escribirlo? He leido que usar un FOR dentro de otro no es muy correcto.

Muchisimos algoritmos, ordenación, búsqueda, etc se construyen con dos ciclos anidados, así que lo que has leído es totalmente falso e incorrecto. El problema viene cuando son muchos ciclos anidados, se torna ineficiente la solución y además lenta.

Saludos.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Grabar un cd normal varias veces
Software
kbra 7 11,794 Último mensaje 5 Enero 2007, 07:56 am
por kbra
Contar cuantas veces se repite un numero [duda JAVA]
Java
Norlak 3 39,947 Último mensaje 23 Agosto 2012, 18:33 pm
por s00rk
Problemas con el archivo taskmgr.exe, se repite muchas veces y bloquea la PC
Seguridad
jr2003 3 2,635 Último mensaje 23 Agosto 2012, 11:22 am
por SokarTefnut
Mostrar la cantidad de veces que una cadena se repite
Programación C/C++
andoporto 1 1,426 Último mensaje 9 Febrero 2015, 08:10 am
por eferion
Encontrar cuantas veces se repite una letra en una cadena en C
Programación C/C++
fernando1122 8 10,759 Último mensaje 12 Noviembre 2019, 15:24 pm
por polako
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines