PDA

Ver la versión completa : Ayuda con script



Juk
16/01/2008, 14:33
Muy buenas. Tengo un poblema poblematico :p

Tengo un script mu sencillito:


net use g: /d /YES
net use G: \\s1128d08\install$ > nul
g:

md \\w1128774\d$\EPO\
copy \\s1128d08\install$\WinXP\AppsNivel1\Aplicaciones\ EPO\*.* \\w1128774\d$\EPO\
pause

net use g: /d /YES


Y esta parte:

md \\w1128774\d$\EPO\
copy \\s1128d08\install$\WinXP\AppsNivel1\Aplicaciones\ EPO\*.* \\w1128774\d$\EPO\

Tengo que repetirla en 150 equipos.
Es decir, el w1128774, pues tengo 149 maquinas con diferentes nombres. Siempre empiezan por w1128 y cambian los tres ultimos digitos

la cuestión es como agregar los 150 nombres al script, sin morirme haciendolo con copiar y pegar, ¿alguna idea?

Malenko
16/01/2008, 16:24
Yo usaría un bucle FOR (que para eso se inventaron :P). Deduzco que es un Script de msdos de toda la vida. Yo haría dos .bat, uno que tenga el bucle for y lance al segundo, que tomaría como parámetro el nombre de la máquina.

Como no me ha quedado muy claro, supongo que tienes las maquinas de la 1 a la 149:

FOR /L %maquina IN (1,1,149) DO CALL segundo.bat %maquina


El segundo fichero (segundo.bat) tendría esto:
net use g: /d /YES
net use G: \\s1128d08\install$ > nul
g:

md \\w1128%1\d$\EPO\
copy \\s1128d08\install$\WinXP\AppsNivel1\Aplicaciones\ EPO\*.* \\w1128%1\d$\EPO\
pause

net use g: /d /YES


-----

Si no me equivoco, esto tendría que ir, y si me equivoco pues no :P

Juk
16/01/2008, 17:04
Muchas gracias.

Es una putada, pero no van del 1 al 149 :S. Es un poco bastante aleatorio :S.
Hay algun w1128774, otro w1128fea, w1128ace. Ahí esta que es jodido, jajajajaja.

Pero muchas gracias por intentar ayudar :)

pakoito
16/01/2008, 17:08
Si son números aleatorios o los tomas de una lista, o los picas a mano. No hay más.


Molan los .bat, no son muy distintos a los shellscript; pero supongo que faltarán comando básicos como el grep o el cut...

otto_xd
16/01/2008, 17:22
Si son números aleatorios o los tomas de una lista, o los picas a mano. No hay más.


Molan los .bat, no son muy distintos a los shellscript; pero supongo que faltarán comando básicos como el grep o el cut...

Ni punto de comparacion, con lo sencillos que son los shellscript, meterte con script de MSDOS es un infierno, I N F I E R N Ooool!

Enserio, no son tan versatiles ni tan claro, por lo menos a mi me pasa eso.

Ahora no se muy bien si dos lo permite, pero definiria una variable con todas las terminaciones limitadas por algun token (mismamente espacio, punto y coma, lo que quieras), y en caso de existir esa opcion, haria un while que recorra esa lista sacando terminaciones y metiendolas en el equipo entero...

Saludos, siento no poder escribirte el script :_S

pakoito
16/01/2008, 17:29
Hombre, si el nombre de equipo está en alguna variable global hay un comando que corta letras, cortas las tres últimas y punto.

Malenko
17/01/2008, 13:20
Si sabes que va entre un margen de números, por ejemplo del 1 al 50000, puedes hacer el for con esos valores, de forma. Entonces en el segundo .bat haría antes que nada algo como un

cd \\w1128%1

para ver si la máquina existe. Si te da un error lo capturas y sales del .bat Es muy a saco pero te sacaría del apuro.