Iniciar sesión

Ver la versión completa : [Ayuda] Necesito un batch sencillito, mis dieses inside



selecter25
29/01/2015, 20:49
Estoy ocultando archivos en vídeos flv para saltarme la limitación de tamaño máximo de subida de Hive y como soy un poco retarded lo estoy haciendo uno a uno. A ver si algún alma caritativa me hace un bat que procese por lotes, debe hacer lo siguiente:

-Compruebe que en el path C:\ hay un archivo flv y uno zip con el mismo nombre.
-Que en ese caso, procese dichos archivos copiándolos como binarios dando como resultado un flv con el zip oculto:
copy /B "archivoa.flv" + "archivoa.zip" "resultadoa.flv"
-El path del archivo de salida puede ser el mismo C:\.

Simple o no?

selecter25
30/01/2015, 14:03
Simple o no?

Regístrate en un foro repleto de programadores decían...:lol2:

Con mis conoobcimientos he automatizado algo el proceso, pero sigo sin poder procesarlos a lo bestia.

akualung
30/01/2015, 14:11
En este hilo de stackoverflow hablan de cómo iterar por cada archivo de un directorio. Me imagino que una vez sabido cómo hacer eso, lo demás debe ser casi mecánico

http://stackoverflow.com/questions/180741/how-to-do-something-to-each-file-in-a-directory-with-a-batch-script

^MiSaTo^
30/01/2015, 14:25
El batch es la mayor mierda que ha parido madre jamás. Tuve que hacerme yo un script el año pasado para usarlo después de compilar con el Visual Studio y fue mucho dolor es mucho peor que bash y super limitado.
Yo si quieres puedo echarle un ojo, pero no tengo windows donde probar :/ Echa un vistazo por stackoverflow que seguramente sea más rápido

selecter25
30/01/2015, 14:35
En este hilo de stackoverflow hablan de cómo iterar por cada archivo de un directorio. Me imagino que una vez sabido cómo hacer eso, lo demás debe ser casi mecánico

http://stackoverflow.com/questions/180741/how-to-do-something-to-each-file-in-a-directory-with-a-batch-script

Gracias, voy a echarle un ojo.


El batch es la mayor mierda que ha parido madre jamás. Tuve que hacerme yo un script el año pasado para usarlo después de compilar con el Visual Studio y fue mucho dolor es mucho peor que bash y super limitado.
Yo si quieres puedo echarle un ojo, pero no tengo windows donde probar :/ Echa un vistazo por stackoverflow que seguramente sea más rápido

Llevo toda la mañana rebuscando en stackoverflow y nada, o no me sirven o son muy complejos para mis paupérrimos conocimientos [Ahhh]. Alguna manera más sencilla de hacer algo que me funcione en Win 7?

^MiSaTo^
30/01/2015, 14:39
Gracias, voy a echarle un ojo.



Llevo toda la mañana rebuscando en stackoverflow y nada, o no me sirven o son muy complejos para mis paupérrimos conocimientos [Ahhh]. Alguna manera más sencilla de hacer algo que me funcione en Win 7?

Yo es que de verdad que no tengo ni idea de windows más allá de aquella vez que tuve que pegarme con ello en el trabajo.
mmm puedo echarle un ojo después de comer que quizá tenga alguna iso en un Virtualbox antiguo. Eso sí, necesito que me pruebes tú y me digas a ver si entre los dos damos con la tecla ;)

pakoito
30/01/2015, 14:47
Matando moscas a cañonazos, instalate cygwin o hazlo en una maquina virtual de puppy linux :D

^MiSaTo^
30/01/2015, 14:51
Matando moscas a cañonazos, instalate cygwin o hazlo en una maquina virtual de puppy linux :D

Si cygwin instala bash se lo hago yo en un pispas en bash xD

Dullyboy
30/01/2015, 15:02
Menos mal, ya pensaba que te habíando dado la solución y yo aquí rompiendome la cabeza :D.
Con dos bat:
a.bat:

FOR %%x in (*.flv) do CALL b.bat %%~nx
pause
b.bat:

set flv=%1
IF EXIST "C:\%flv%.zip" COPY /B "C:\%flv%.zip" + "C:\%flv%.flv" "C:\%flv%.flv"
Vale ahora sí creo.

^MiSaTo^
30/01/2015, 15:19
No se puede hacer sólo con 1 bat? O_o Pregunto desde la ignorancia

Dullyboy
30/01/2015, 15:24
Igual sí, pero como me estaba dando problemas y hay muchas cosas que no se pueden hacer en batch lo hice así :D.

^MiSaTo^
30/01/2015, 15:28
Igual sí, pero como me estaba dando problemas y hay muchas cosas que no se pueden hacer en batch lo hice así :D.

No, si me creo que no se pueda XD Era sólo curiosidad, gracias :)

Dullyboy
30/01/2015, 15:29
Acabo de probar y si se puede, que a mi también me puede la curiosidad :).

FOR %%x in (*.flv) do (IF EXIST "C:\%%~nx.zip" COPY /B "C:\%%~nx.zip" + "C:\%%~nx.flv" "C:\%%~nx.flv")
Es que hace tiempo había rucado para hacer algo y creía haber leido que no se podían combinar ningún bucle y que había que hacer las cosas con los goto pero a saber que cojones leí :D.

^MiSaTo^
30/01/2015, 15:33
Ole y ole :)
Ole tus huevos porque batch es infumable xD

pakoito
30/01/2015, 16:02
Si cygwin instala bash se lo hago yo en un pispas en bash xD

Cygwin es bash + librerias linux, disponible en Windows. No es un sustituto pero para salir de apuros o compilar makes vale.

^MiSaTo^
30/01/2015, 16:18
Me flipa que en 2015 haya que instalar algo para compilar makes y no venga ya de serie. Bueno, me flipa más que no hayan puesto algo mejor que batch a día de hoy xD

selecter25
30/01/2015, 17:17
Acabo de probar y si se puede, que a mi también me puede la curiosidad :).

FOR %%x in (*.flv) do (IF EXIST "C:\%%~nx.zip" COPY /B "C:\%%~nx.zip" + "C:\%%~nx.flv" "C:\%%~nx.flv")
Es que hace tiempo había rucado para hacer algo y creía haber leido que no se podían combinar ningún bucle y que había que hacer las cosas con los goto pero a saber que cojones leí :D.

Mil gracias, lo acabo de probar y funciona, pero me ocurre algo muuuy curioso: los archivos resultantes quedan corruptos o ilegibles, sin embargo con la función COPY manual (o con mi batch de 1 a 1) va bien, voy a subir un vídeo para que lo veas.

Dullyboy
30/01/2015, 17:34
Mil gracias, lo acabo de probar y funciona, pero me ocurre algo muuuy curioso: los archivos resultantes quedan corruptos o ilegibles, sin embargo con la función COPY manual va bien, voy a subir un vídeo para que lo veas.

Igual es que puse al reves el orden los archivos al hacer el copy (soy un chapuzas y voy editando sin control para ver si consigo que funcionen las cosas :D).

selecter25
30/01/2015, 17:36
Igual es que puse al reves el orden los archivos al hacer el copy (soy un chapuzas y voy editando sin control para ver si consigo que funcionen las cosas :D).

Cierto, revisando pusiste el zip primero (yo también soy retarded por no darme cuenta). Ahora va como la seda, mil gracias de nuevo!!!!

Dullyboy
30/01/2015, 17:38
Nada ho, :D.

Nathrezim
30/01/2015, 17:40
Me flipa que en 2015 haya que instalar algo para compilar makes y no venga ya de serie. Bueno, me flipa más que no hayan puesto algo mejor que batch a día de hoy xD

Si lo hay, Windows Scripting Host, puedes hacer scripts con el lenguaje que te de la gana, pero he estado mirando y no se lleva bien leyendo ficheros binarios, y el objeto que copia ficheros no tiene la primitiva de concatenar ficheros.

Rarok
30/01/2015, 21:43
Me flipa que en 2015 haya que instalar algo para compilar makes y no venga ya de serie. Bueno, me flipa más que no hayan puesto algo mejor que batch a día de hoy xD

Puedes usar PowerShell que es básicamente el sustituto moderno al cmd.exe y sus batch. Lo poco que he probado más o menos permite hacer lo mismo que en linux bash.

^MiSaTo^
30/01/2015, 23:51
Puedes usar PowerShell que es básicamente el sustituto moderno al cmd.exe y sus batch. Lo poco que he probado más o menos permite hacer lo mismo que en linux bash.

Ni de coña permite lo mismo xD Es mejor que cmd eso sí

princemegahit
31/01/2015, 01:08
Si lo hay, Windows Scripting Host, puedes hacer scripts con el lenguaje que te de la gana, pero he estado mirando y no se lleva bien leyendo ficheros binarios, y el objeto que copia ficheros no tiene la primitiva de concatenar ficheros.

***** con microsoft, hacen algo nuevo supuestamente más avanzado y tiene menos capacidades que el lenguaje batch que tiene un montón de años. Dame una CH, dame una A, dame una P, dame una U... xDDD

^MiSaTo^
31/01/2015, 10:38
***** con microsoft, hacen algo nuevo supuestamente más avanzado y tiene menos capacidades que el lenguaje batch que tiene un montón de años. Dame una CH, dame una A, dame una P, dame una U... xDDD

Pues como siempre xD