Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - santi810

#11
Scripting / Re: Variable hostname en batch
20 Diciembre 2013, 17:46 PM
Ya, ya sabia que no habia ninguna variable que se llamase asi! era solo para que entendieras a lo que me referia! Use hostname porque estoy acostumbrado a usar linux y subpuse que todo el mundo sabria de lo que hablo.

Muchas gracias eso me va perfecto! y apunto la guia de variable de entorno!!
#12
Scripting / Variable hostname en batch
19 Diciembre 2013, 01:01 AM
Lo primero nose si es correcto el titulo, si no es asi perdon!

El tema es, me compre un ordenador nuevo y  ahora mismo tengo los batch sincronizados porque quiero usar los mismos en los 2 equipos.

El problema es que la estructura de carpetas es diferente, y no queria tener que hacer diferentes scripts para cada equipo.

Mi idea es (no se si se puede):
poner al principio:

if %hostname%==portatilsanti set a=ruta en el portatil
if %hostname%==pcsanti set a=ruta en el pc


y reemplazar todas las rutas por %a%


El problema es que no encontre nada parecido a lo que yo llamo hostname, que seguro que esta mal dicho, es decir El nombre del equipo (o un identificador que diferencie los equipos, ese me parecio el mas facil)

Pues la pregunta es: conoceis algun identificador para diferencias los equipos o directamente teneis una idea mejor que la mia?


gracias
#13
Tendrias que poner el resultado que te devuelve para tener mas datos.

Yo creo que el problema es que estas borrando una carpeta alejada en "Archivos de programa" que es una carpeta de configuracion de sistema, asi que te va a dar problemas.

Ejecuta el script como administrador (boton derecho > Ejecutar como administrador).
#14
Uso notepad++
si, estan guardados en UTF.
Con cambiarlos todos a ANSI llegaria o tengo que añadir en todos ellos lo de
"CHCP 1252 1>NUL"?
si lo tengo que añadir te importaria explicarme mas que hace exactamente ese codigo?

gracias!
#15
Scripting / Codificacion en archivos bat, letra ñ
28 Noviembre 2013, 23:37 PM
Hola, tengo un problema con la codificacion en archivos batch.

El problema surge cuando quiero renombrar un archivo con la letra ñ,
hasta ahora tenia windows 7 y lo arreglaba con el caracter alt+207 ¤.ç

Hace un par de semanas me instale windows 8.1 y lo raro es que en los batch que tenia escritos en windows7 el caracter ¤ sigue funcionando como letra ñ, pero en los nuevos no!!
alguien puede explicarme por que y como puedo arreglarlo?


MODIFICACION:
       Acabo de hacer una prueba, copie un archivo batch escrito desde windows 7 y edite su contenido y si funciono el caracter ¤
#16
Scripting / Re: Problema con un For en batch
20 Noviembre 2013, 11:34 AM
no me funciona porque me pasa las comillas
echo %1
echo %2
echo %3
pause

da como resultado

A:\Iomega\VER>echo "1"
"1"

A:\Iomega\VER>echo "1"
"1"

A:\Iomega\VER>echo "The Americans"
"The Americans"

A:\Iomega\VER>pause
Presione una tecla para continuar . . .



Entonces al trabajar con %3 me pone ""The americans" 125.avi" y me da error.

dos preguntas:
     como quito las comillas?
     no acabo de entender porque pones el:
Echo "%%1=%~1"
Echo "%%2=%~2"
Echo "%%3=%~3"

#17
Scripting / Re: Problema con un For en batch
18 Noviembre 2013, 19:56 PM
Lo primero gracias, reviso y te comento.
XML lo di en clase por encima pero me sirve de algo para trabajar con batch?
#18
Scripting / Problema con un For en batch
18 Noviembre 2013, 15:28 PM
Alguien me podria ayudar con este codigo:


A:
cd "A:\Iomega\VER"
For /F "tokens=1,2,*" %%a in (A:\Dropbox\Bats\Comodins\series.txt) do (
call A:\Dropbox\Bats\Pendientes\prueba1.bat %%a %%b %%c
call A:\Dropbox\Bats\Pendientes\prueba2.bat
call :prueba3
)
exit

(Está incompleto)

Yo pensaba que el bat "prueba1" llevaria como "%1" el valor que el for tiene en "%%a" cada vez que fuese llamado, pero no es asi.


No esto seguro de que se pueda, pero se pueden introducir asi el valor?








La finalidad de usar eso es que "series.txt" es un fichero donde tengo los nombres de series que tengo para ver, decidi hacerlo asi porque somos un grupo de amigos que las vamos viendo cada uno en su ordenador, asi a la vez que voy practicando batch nos simplifico el trabajo.

Ya tengo el codigo hecho (os lo pego abajo por si lo necesitais) pero quiero reducirlo a algo parecido al formato de arriba, pues el fichero "series.txt" lo uso para 3 batchs mas y asi lo puedo modificar de una forma mas sencilla, ademas tengo demasiados goto en el codigo y es muy muy lio!


PD: si alguien quiere dar algun consejo en concreto o mencinar algun error que tenga que no tenga que ver con la pregunta estaran bien recibidos, pues creo que se nota que no llevo mucho tiempo con esto.

(perdonad el biliguismo, los comentarios estan escritos parte en gallego, parte en castellano)
Codigo:

A:
cd "A:\Iomega\VER"
set cod=1
:1
set s=666 Park Avenue
set /a cod=%cod%+1
set t=1
set tf=1
goto prueba1
:2
set s=Alphas
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:3
set s=American dad
set /a cod=%cod%+1
set t=7
set tf=9
goto prueba1
:4
set s=American Horror Story
set /a cod=%cod%+1
set t=3
set tf=4
goto prueba1
:5
set s=Anger management
set /a cod=%cod%+1
set t=2
set tf=4
goto prueba1
:6
set s=Apocalipsis en el instituto
set /a cod=%cod%+1
set t=2
set tf=2
goto prueba1
:7
set s=Arrow
set /a cod=%cod%+1
set t=2
set 4
goto prueba1
:8
:9
set s=Boardwalk Empire
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:10
set s=Breaking bad
set /a cod=%cod%+1
set t=5
set tf=6
goto prueba1
:11
set s=Como conoci a vuestra madre
set /a cod=%cod%+1
set t=8
set tf=10
goto prueba1
:12
set s=Da Vinci daemons
set /a cod=%cod%+1
set t=2
set tf=3
goto prueba1
:13
set s=Defiance
set /a cod=%cod%+1
set t=2
set tf=3
goto prueba1
:14
set s=Dexter
set /a cod=%cod%+1
set t=1
set tf=2
goto prueba1
:15
set s=El mentalista
set /a cod=%cod%+1
set t=1
set tf=2
goto prueba1
:16
set s=Erase_una vez
set /a cod=%cod%+1
set t=3
set tf=4
goto prueba1
:17
set s=Eureka
set /a cod=%cod%+1
set t=2
set tf=4
goto prueba1
:18
set s=Falling Skies
set /a cod=%cod%+1
set t=4
set tf=5
goto prueba1
:19
set s=Fringe
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:20
set s=Generation kill
set /a cod=%cod%+1
set t=1
set tf=2
goto prueba1
:21
set s=Hannibal
set /a cod=%cod%+1
set t=2
set tf=4
goto prueba1
:22
set s=Homeland
set /a cod=%cod%+1
set t=3
set tf=6
goto prueba1
:23
set s=House of cards
set /a cod=%cod%+1
set t=1
set tf=3
goto prueba1
:24
set s=Juego de tronos
set /a cod=%cod%+1
set t=4
set tf=6
goto prueba1
:25
set s=La chica invisible
set /a cod=%cod%+1
set t=3
set tf=4
goto prueba1
:26
set s=La cupula
set /a cod=%cod%+1
set t=1
set tf=2
goto prueba1
:27
set s=Ladron de guante blanco
set /a cod=%cod%+1
set t=1
set tf=2
goto prueba1
:28
set s=Los simpson
set /a cod=%cod%+1
set t=22
set tf=25
goto prueba1
:29
set s=Misfits
set /a cod=%cod%+1
set t=4
set tf=5
goto prueba1
:30
set s=New Girl
set /a cod=%cod%+1
set t=2
set tf=4
goto prueba1
:31
set s=Peque¤as mentirosas
set /a cod=%cod%+1
set t=2
set tf=3
goto prueba1
:32
set s=Revenge
set /a cod=%cod%+1
set t=3
set tf=4
goto prueba1
:33
set s=Revolution
set /a cod=%cod%+1
set t=2
set tf=4
goto prueba1
:34
set s=Roma criminal
set /a cod=%cod%+1
set t=1
set tf=3
goto prueba1
:35
set s=Sons of anarchy
set /a cod=%cod%+1
set t=1
set tf=3
goto prueba1
:36
set s=Suits
set /a cod=%cod%+1
set t=1
set tf=2
goto prueba1
:37
set s=The big bang theory
set /a cod=%cod%+1
set t=7
set tf=8
goto prueba1
:38
set s=Vikingos
set /a cod=%cod%+1
set t=1
set tf=3
goto prueba1
:39
set s=The Following
set /a cod=%cod%+1
set t=2
set tf=4
goto prueba1
:40
set s=Elementary
set /a cod=%cod%+1
set t=1
set tf=2
goto prueba1
:41
set s=The walking dead
set /a cod=%cod%+1
set t=4
set tf=6
goto prueba1
:42
set s=Utopia
set /a cod=%cod%+1
set t=2
set tf=4
goto prueba1
:43
set s=Dos hombres y medio
set /a cod=%cod%+1
set t=10
set tf=12
goto prueba1
:44
set s=Chuck
set /a cod=%cod%+1
set t=5
set tf=6
goto prueba1
:45
set s=Padre de familia
set /a cod=%cod%+1
set t=12
set tf=13
goto prueba1
:46
set s=Community
set /a cod=%cod%+1
set t=3
set tf=5
goto prueba1
:47
set s=Dos chicas sin blanca
set /a cod=%cod%+1
set t=1
set tf=3
goto prueba1
:48
set s=Modern family
set /a cod=%cod%+1
set t=4
set tf=7
goto prueba1
:49
set s=The newsroom
set /a cod=%cod%+1
set t=1
set tf=3
goto prueba1
:50
set s=Finales felices
set /a cod=%cod%+1
set t=2
set tf=4
goto prueba1
:51
set s=Louie
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:52
set s=Wilfred
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:53
set s=Scandal
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:54
set s=Veep
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:55
set s=Bobs Burguer
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:56
set s=Person of interest
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:57
set s=Hope
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:58
set s=Hart of Dixie
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:59
set s=The Bridge
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:60
set s=Rehenes
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:61
set s=Agents of SHIELD
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:62
set s=Vaya Vecinos
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:63
set s=Crosing lines
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:64
set s=Sleepy Hollow
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:65
set s=Bates Motel
set /a cod=%cod%+1
set t=1
set tf=4
goto prueba1
:66
set s=Banshee
set /a cod=%cod%+1
set t=1
set tf=1
goto prueba1
pendientes.bat
:67
set s=dates
set /a cod=%cod%+1
set t=1
set tf=2
goto prueba1
:67
set s=Ray Donovan
set /a cod=%cod%+1
set t=1
set tf=2
goto prueba1
pendientes.bat
:68
set s=The americans
set /a cod=%cod%+1
set t=1
set tf=2
goto prueba1
:Reparto
title %cod% de 70
goto %cod%
rem 70 es un numero aproximado, cuando goto marque un numero que no esté dara error y finalizara el batch


:prueba1
rem miramos si existe en pendientes, si non hay ningun capituo pendiente non ten sentido!
if not exist "pendientes\%s%*.avi" goto reparto
rem miro si existen 3 capitulos xa, si xa hay 3 que se pire!
set cuenta1=0
For %%x in ("%s%*.avi") do (
call "A:\Dropbox\Bats\Comodins\contar\cuenta1.bat"
)
if %cuenta1% geq 3 goto reparto

rem si esta o cap 101 e obvio que non hay ningun en Ver asique o mova xa...
rem mover1 porque si estan o 2 e 3 que se movan tamen!
if exist "pendientes\%s% 101.avi" goto mover1
set cap=0
:revalor
set /a c=%t%*100+1
rem este entra en accion cando cambia a temporada dunha serie, fai que a temporada 7 empece no cap 701 e asi sucesivamente.

:prueba2
rem esto quere decir que existe polo menos un capitulo en pendientes
rem ahora vamos a buscar si hay un capitulo en VER, si sabemos cal e con pedir o siguiente basta!
if not exist "%s%*.avi" goto prueba3
if %t% gtr %tf% goto error4
if "%c%" gtr "%t%25" goto error7
if not exist "%s% %c%.avi" set /a c=%c%+1 & goto prueba2 rem da votas hasta que encontre un que exista
set /a cap=%cap%+1
set /a c=%c%+1 rem aumenta 1 pa buscar o siguiente
if not exist "%s% %c%.avi" goto mover2
set /a cap=%cap%+1
set /a c=%c%+1 rem aumenta 1 pa buscar o ultimo (terceiro)
if not exist "%s% %c%.avi" goto mover2
set /a cap=%cap%+1
if %cap%==3 goto reparto

rem si chega aqui algo falla!
echo ERROR1 esto e simbolico, nunca deberia chegar aqui pero por sea caso aqui esta!
pause>nul
exit

:prueba3
if %t% gtr %tf% goto error4
if "%c%" gtr "%t%25" goto error6
if not exist "pendientes\%s% %c%.avi" set /a c=%c%+1 & goto prueba3 rem da votas hasta que encontre un que exista
goto mover4



:mover1
rem chega aqui cando existe o capitulo 1 da primeira temporada, non ten sentido que non o mova, e aproveito pa mover os 3 primeiros
Move "pendientes\%s% 101.avi" .
Move "pendientes\%s% 102.avi" .
Move "pendientes\%s% 103.avi" .
goto reparto

:mover2
rem solo chega aqui si da positivo en prueba2
rem quere decir que teño que mover 2 capitulos de esa serie
if not exist "pendientes\%s% %c%.avi" goto mover3
if exist "pendientes\%s% %c%.avi" move "pendientes\%s% %c%.avi" . & set /a cap=%cap%+1
if %cap%==3 goto reparto
set /a c=%c%+1
if not exist "pendientes\%s% %c%.avi" goto mover3
if exist "pendientes\%s% %c%.avi" move "pendientes\%s% %c%.avi" . & set /a cap=%cap%+1
if %cap%==3 goto reparto
rem solo movo 2 porque estou na premisa de que xa existe polo menos 1!
rem si chega aqui algo falla!
echo ERROR2  en mover2esto e simbolico, nunca deberia chegar aqui pero por sea caso aqui esta!
pause>nul
exit

:mover3
set /a t=%t%+1
set /a c=%t%*100+1
if exist "pendientes\%s% %c%.avi" move "pendientes\%s% %c%.avi" . & set /a cap=%cap%+1
if %cap%==3 goto reparto
set /a c=%c%+1
if exist "%s% %c%.avi" goto reparto
rem esto e unha excepcion do codigo
rem daba problemas cando habia o ultimo cap dunha temporada e os 2 primeiros da siguiente
rem si se da ese caso, esta linea fai que pase de largo esa serie e non dea error (xa que non existe ningun error)
if exist "pendientes\%s% %c%.avi" move "pendientes\%s% %c%.avi" . & set /a cap=%cap%+1
if %cap%==3 goto reparto
goto prueba1
rem si chega aqui algo falla!
echo ERROR3: mover3 esto e simbolico, nunca deberia chegar aqui pero por sea caso aqui esta!

pause>nul
exit

:mover4
rem solo pasa por aqui si o manda a prueba3
if exist "pendientes\%s% %c%.avi" Move "pendientes\%s% %c%.avi" "A:\Iomega\VER" & goto prueba1
rem si chega aqui algo falla
echo ERROR5 nunca deberia chegar aqui pero meto por sea caso
pause>nul
exit


:error4
echo ERROR4: Numero de temporada final (%tf%) incorrecta en %s% >> A:\Documentos\ERRORESPENDIENTES
goto reparto

:error6
echo temporada de inicio (%t%) incorrecta en %s%, cambiar para mayor eficiencia >> A:\Documentos\ERRORESPENDIENTES
set /a t=%t%+1
goto revalor

:error7
echo temporada de inicio (%t%) incorrecta en %s% >> A:\Documentos\ERRORESPENDIENTES
set /a t=%t%+1
goto revalor




#19
Scripting / Re: Modificacion de texto en batch
11 Noviembre 2013, 13:39 PM
Me vale, ya que queria empezar con vbscript y me acavas de obligar!
Al llegarva casa lo miro a ver si lo entiendo!
Muchas gracias!
#20
Scripting / Modificacion de texto en batch
9 Noviembre 2013, 16:30 PM
Hola, necesito ayuda con un programilla.


Tengo un archivo de texto que es creado por otro batch.
este tiene la siguiente forma, por ejemplo:

                             Alverto567[delantero]
                             juan985[defensa]


creo que en este caso es suficiente para que os imagineis..
vamos, texto, 3 numeros,texto entre corchetes, podria haber 4 numeros, pero seria una excepcion.



Queria ayuda para que al ejecutar un comando quedara asi:

                             Aberto%t%0%%c%del%
                             Aberto%t%%%c%del%
                             juan%t%0%%c%def%
                             juan%t%%%c%def%


porque asi podria pasar ese txt a un bat directamente.

Actualmente lo hago a mano por falta de tiempo para mirar como hacerlo, si alguien me ayuda me ahorraria mucho tiempo!
Gracias