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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 [7] 8 9
61  Programación / Scripting / Re: [BATCH] Edición archivo SRT en: 4 Agosto 2012, 15:42 pm
@Leo Gutiérrez

Está probado y asi realiza su función aunque como dice EleKtro H@cker, se come ciertos caracteres

@EleKtro H@cker

El código que has puesto funciona pero se come el espacio antes de los numeros de la línea por lo que al editar el srt resultante en aegisub, me inserta todos los subtitulos en una sola linea.

Por cierto, mis srt están codificados en Unicode, podría automatizar el cambio a UTF-8??

Gracias de nuevo.
62  Programación / Scripting / Re: [BATCH] Edición archivo SRT en: 3 Agosto 2012, 23:20 pm
Gracias, lo voy a probar y os cuento, desconocía que pudiera insertar doble comilla dentro de otras comillas, no tengo tanto nivel ^^'.

Con respecto a lo del codigo en vez de quote, me ha kedao claro  :silbar:. No volverá a pasar.

63  Programación / Scripting / [BATCH] Edición archivo SRT en: 3 Agosto 2012, 20:17 pm
Hola de nuevo, el caso es que necesito editar 291 archivos del tipo srt, que en base es practicamente es lo mismo que un txt, con extension diferente.

Bueno he leido este hilo para poder hacer sustitucion de palabras http://foro.elhacker.net/scripting/acciones_sobre_archivos_de_texto_batch-t242748.0.html. Sin embargo este codigo me da error y no me funciona:

Intento cambiar en el texto los puntos suspensivo con espacios por puntos suspensivos sin espacios.
Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=* delims=" %%x in ('type C:\Users\Isra\Desktop\Cap 01 B.srt') do (
  4. set linea=%%x
  5. set linea=!linea:. . .=...!
  6. call :show !linea!
  7. )
  8. goto:eof
  9. :show
  10. echo %* >> "C:\Users\Isra\Desktop\Cap 01 B mod.srt"
  11. goto:eof

Alguna idea de que está pasando??



Elektro H@cker: No tienes que usar el botón "insertar cita" sinó el de "insertar código".
64  Programación / Scripting / Re: [BATCH] Problemas con else if en: 14 Julio 2012, 00:40 am
Cierto cierto es mas sencillo, pero cuesta acomodarse a este lenguaje y sus limitaciones y demás; muxas veces dudo si se pueden hacer ciertas cosas o no. Gracias por el off, le echare un ojo. Saludos cracks

EDITO: Tu forma me iba bien pero en horas de madrugada se seguia comiendo el cero incluso dandole el formato, y se debe a las comillas. Siendo lo correcto para mi caso:

Código
  1. IF %H% LSS 10 (Set H=0%H%)
  2. IF %M% LSS 10 (Set M=0%M%)
  3.  
  4.  
  5. Echo El apagado se iniciara a las %h%:%m%:%s%,%ms%.
  6. Goto :Inicio

Para los segundo no hace falta, win los incluye automaticamente O_o
65  Programación / Scripting / Re: [BATCH] Problemas con else if en: 13 Julio 2012, 20:41 pm
Los he borrado pero sigue sin funcionarme la linea. Sin embargo, he dado con la solucion aunque no es de mi agrado pues queria haberlo hecho con condicionales anidados.

Solucion:
Código
  1. :: Mensaje de salida, en formatos diferentes
  2.  
  3. IF %h% LSS 10 (IF %m% LSS 10 (echo El apagado se iniciar  a las 0%h%:0%m%:%s%,%ms%. && echo. && goto inicio))
  4. IF %h% GEQ 10 (IF %m% LSS 10 (echo El apagado se iniciar  a las %h%:0%m%:%s%,%ms%.  && echo. && goto inicio))
  5. IF %h% LSS 10 (IF %m% GEQ 10 (echo El apagado se iniciar  a las 0%h%:%m%:%s%,%ms%.  && echo. && goto inicio))
  6.  
  7. echo El apagado se iniciar  a las %h%:%m%:%s%,%ms%.
  8.  
  9. goto inicio

Esta claro que el problema provenia de cuando el programa interpreta las condiciones, al estar anidados ni si quiera valora la tercera condicion saliendo de los condicionales anidados.

Vamos que cuando exponia el caso de que la hora es menor de 10 y los minutos mayor de 10, como interpreta las condiciones anteriores y las valora, se rompia el proceso cuando pasaba por GEQ 10, al no cumplirse se rompia y no saltaba al siguiente ELSE.

Eso creo que es lo que pasaba. Saludos



Moderador: ¿Porque sigues usando en las respuestas el botón "citar" para insertar código?  :-/
66  Programación / Scripting / Re: [BATCH] Problemas con else if en: 13 Julio 2012, 19:56 pm
Ok, entonces creo que el fallo lo tengo en ciertos parentesis

Código
  1. IF %h% LSS 10 (IF %m% LSS 10 ("echo El apagado se iniciar  a las 0%h%:0%m%:%s%,%ms%.")
  2.  
  3. ) ELSE (
  4.  
  5. IF %h% GEQ 10 (IF %m% LSS 10 ("echo El apagado se iniciar  a las %h%:0%m%:%s%,%ms%."))
  6.  
  7. ) ELSE (
  8.  
  9. IF %h% LSS 10 (IF %m% GEQ 10 ("echo El apagado se iniciar  a las 0%h%:%m%:%s%,%ms%."))
  10.  
  11. ) ELSE (
  12.  
  13. echo "El apagado se iniciar  a las %h%:%m%:%s%,%ms%."
  14.  
  15. )
  16. )
  17. )

Los he quitado y al menos el script ya no se cierra pero me indica: El nombre de archivo, el nombre de directorio o la sintaxis de la etiqueta del volumen no son correctos.

Y otra duda, no se puede usar como en C los operadores logicos &&?? Para algo como:

If condicion1 && condicion2 (accion) else (acciondefault)

EDITO: Ahora no me muestra ni el mensaje arrgggggg >:D

EDITO2: He detectado que el error esta marcado en esta linea: IF %h% LSS 10 (IF %m% GEQ 10 ("echo El apagado se iniciar  a las 0%h%:%m%:%s%,%ms%.")

Pero no se pq
67  Programación / Scripting / Re: [BAT] Duda con FOR en: 13 Julio 2012, 19:37 pm
Si, habia leido que utilizando solo un &, la lectura se interrumpe hasta que se deja de cumplir la condicion (o algo asi) y con && lee toda la linea. La verdad es que no habia caido en que ante errores es mejor usar la opcion que tu marcas. Saludos y gracias  ;-)
68  Programación / Scripting / [BATCH] Problemas con else if en: 13 Julio 2012, 19:35 pm
Buenas, se que en este lenguaje no existe la particula propiamente dicha, ELSE IF sino que hay que hacer otra cosa. He estado mirando por la web y la solucion seria anidar los condicionales pero desgraciadamente no me sale  :-(

Os dejo el código, y marco de negro la zona conflictiva. A ver en que me estoy equivocando.

Código
  1. @echo off
  2. color 0A
  3. title Apagado condicional
  4.  
  5. :inicio
  6. echo ¨Qu‚ quieres hacer?
  7. echo 1. Apagar en un tiempo espec¡fico
  8. echo 2. Apagar
  9. echo 3. Reiniciar
  10. echo 4. Cerrar sesion
  11. echo 5. Hibernar
  12. echo 6. Cancelar
  13. echo 7. Quitar
  14.  
  15. set /p eleccion="Elija una opci¢n: "
  16. if %eleccion%==1 goto apagado
  17. if %eleccion%==2 shutdown -s -f
  18. if %eleccion%==3 shutdown -r -f
  19. if %eleccion%==4 shutdown -l -f
  20. if %eleccion%==5 shutdown -h -f
  21. if %eleccion%==6 goto cancelar
  22. if %eleccion%==7 exit
  23. echo Elecci¢n inv lida: %eleccion%
  24. cls
  25. goto inicio
  26.  
  27. :apagado
  28. cls
  29. set /p min="Minutos antes de apagar: "
  30. set /a sec=60*%min%
  31. shutdown -s -f -t %sec%
  32. cls
  33.  
  34. :: Opcion con extractor de caracteres
  35. rem set h=%time:~0,2%
  36. rem set m=%time:~3,2%
  37. rem set s=%time:~6,2%
  38. rem set ms=%time:~9,2%
  39.  
  40. :: Opcion con bucle
  41.  
  42. for /F "tokens=1,2,3,4 delims=:," %%H in ("%time%") do set "h=%%H" & set "m=%%I" & set "s=%%J" & set "ms=%%K"
  43.  
  44. :: Suma de los minutos insertados a la hora actual, para ser mostrada en la interfaz
  45. set /a m=%m%+%min%
  46.  
  47. :: Reajustar horas y minutos
  48. if %m% GEQ 60 set /a h=%h%+(%m%/60) && set /a m=(%m%)%%60
  49. if %h% GEQ 24 set /a h=(%h%)%%24

Esta es la parte que no funciona:
Código
  1. :: Mensaje de salida, en formatos diferentes
  2.  
  3. IF %h% LSS 10 (IF %m% LSS 10 ("echo El apagado se iniciar  a las 0%h%:0%m%:%s%,%ms%.")
  4.  
  5. ) ELSE (
  6.  
  7. IF %h% GEQ 10 (IF %m% LSS 10 ("echo El apagado se iniciar  a las %h%:0%m%:%s%,%ms%."))
  8.  
  9. ) ELSE (
  10.  
  11. IF %h% LSS 10 (IF %m% GEQ 10 ("echo El apagado se iniciar  a las 0%h%:%m%:%s%,%ms%."))
  12.  
  13. ) ELSE (
  14.  
  15. echo "El apagado se iniciar  a las %h%:%m%:%s%,%ms%."
  16.  
  17. )
  18. )
  19. )
  20.  
  21. goto inicio
  22.  
  23. :cancelar
  24. cls
  25. shutdown -a
  26. cls
  27. goto inicio



Saludos y gracias de antemano.
69  Programación / Scripting / Re: [BAT] Duda con FOR en: 12 Julio 2012, 17:49 pm
Gracias por tu respuesta, no pensaba yo que seria por eso... este lenguaje es muy meticuloso en ciertos aspectos, x eso me gusta tanto \O/.

Saludos
70  Programación / Scripting / [BAT] Duda con FOR en: 12 Julio 2012, 05:24 am
Bueno estoy ajustando un script que tenía para que el apagado se realice a una hora, y queria que en la pantalla mostrase la hora en la que se iniciara el apagado. Como no se si se puede operar con horas, lo que he intentado es extraer los caracteres de la variable %time% para sumarle a cada un token su correspondiente valor. El caso es que con for, me incluye un espacio que intento quitar pero no puedo. He realizado el mismo proceso y con exito con los extractores de caracteres, pero queria probar con el FOR. Os pongo la trivialidad del codigo.

Código:
@echo off
set /p min="Minutos antes de apagar: "
set /a sec=60*%min%

:: Opcion con extractores de caracteres

rem set h=%time:~0,2%
rem set m=%time:~3,2%
rem set s=%time:~6,2%
rem set ms=%time:~9,2%

:: Opcion con un bucle

for /F "tokens=1,2,3,4 delims=:," %%H in ("%time%") do set h=%%H && set m=%%I && set s=%%J && set ms=%%K

rem set /a m=%m%+%min%

rem IF - if %m% GEQ 60 set /a h=%h%+(%m%/60) && set /a m=(%m%)%%60

echo %h%:%m%:%s%,%ms%

pause

la salida seria: 11 :12 :23 ,70. Y desearia saber como podria hacer que extraiga los valores sin los espacios para que se muestre asi: 11:12:23,70.

Imagino que es una boberia pero es una curiosidad mas. ^^
Páginas: 1 2 3 4 5 6 [7] 8 9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines