|
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 . 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. for /f "tokens=* delims=" %%x in ('type C:\Users\Isra\Desktop\Cap 01 B.srt' ) do ( set linea= !linea:. . .=...! ) :show echo %* >> "C:\Users\Isra\Desktop\Cap 01 B mod.srt"
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: Echo El apagado se iniciara a las %h%: %m%: %s%, %ms%.
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: :: Mensaje de salida, en formatos diferentes echo El apagado se iniciar a las %h%: %m%: %s%, %ms%.
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 IF %h% LSS 10 (IF %m% LSS 10 (" echo El apagado se iniciar a las 0 %h%:0 %m%: %s%, %ms%." ) IF %h% GEQ 10 (IF %m% LSS 10 (" echo El apagado se iniciar a las %h%:0 %m%: %s%, %ms%." )) IF %h% LSS 10 (IF %m% GEQ 10 (" echo El apagado se iniciar a las 0 %h%: %m%: %s%, %ms%." )) echo "El apagado se iniciar a las %h%: %m%: %s%, %ms%." ) ) )
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 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. color 0A title Apagado condicional :inicio echo 1. Apagar en un tiempo espec¡fico set /p eleccion="Elija una opci¢n: " if %eleccion%==2 shutdown -s -f if %eleccion%==3 shutdown -r -f if %eleccion%==4 shutdown -l -f if %eleccion%==5 shutdown -h -f if %eleccion%==6 goto cancelar echo Elecci¢n inv lida: %eleccion% cls :apagado cls set /p min="Minutos antes de apagar: " shutdown -s -f -t %sec% cls :: Opcion con extractor 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 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" :: Suma de los minutos insertados a la hora actual, para ser mostrada en la interfaz :: Reajustar horas y minutos if %m% GEQ 60 set /a h= %h%+ (%m%/60 ) && set /a m= (%m%)%%60
Esta es la parte que no funciona: :: Mensaje de salida, en formatos diferentes IF %h% LSS 10 (IF %m% LSS 10 (" echo El apagado se iniciar a las 0 %h%:0 %m%: %s%, %ms%." ) IF %h% GEQ 10 (IF %m% LSS 10 (" echo El apagado se iniciar a las %h%:0 %m%: %s%, %ms%." )) IF %h% LSS 10 (IF %m% GEQ 10 (" echo El apagado se iniciar a las 0 %h%: %m%: %s%, %ms%." )) echo "El apagado se iniciar a las %h%: %m%: %s%, %ms%." ) ) ) :cancelar cls shutdown -a cls
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. @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. ^^
|
|
|
|
|
|
|