Ms-Dos - No puedo ejecutar multitareas en .bat

 
Vista:
sin imagen de perfil
Val: 30
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Luis Caballero (17 intervenciones) el 12/01/2018 12:36:41
Que tal amigos fijense que tengo demaciados videos en mp4 y solo quiero generar el audio .aac y borrar los videos .mp4

He hecho un par de tareas para crear un un bat que extraiga audio .aac de un video .mp4
Ejemplo:

abcd_180101-000000.mp4

Extraer audio
abcd_180101-000000.aac

Renombrar audio
20180101000000.aac


Borrar video .mp4 una vez que haya concluido con exito la extraccion de audio




Este proceso lo llevare acabo en muchos videos cerca de 400 videos por unas 3 carpetas


Las que he llevado acabo son:



Extraer audio de .mp4 a .aac


for %%a in ("*.mp4") do ffmpeg -i "%%a" -b:a 192000K -vn "%%~na.aac"

me convierte todos mis archivos dentro de una carpeta


Renombrar audio

Quitar los primeros 5 caracteres

for %%a in (*.aac) do call :lab %%a


:lab

set original=%*

set newname=%original:~5%

ren "%original%" "%newname%"


Quitar guión medio

for %%f in (*.aac) do (set archivo=%%f&call :renombrar)

:renombrar

set quitar=%archivo:-=%

rename "%archivo%" "%quitar%"

goto :eof


* Insertar no. 20 al principio del nombre del archivo (No lo he podido hacer)


* Borrar archivo .mp4 una vez que haya concluido con exito el audio .aac (No lo he podido hacer)


Todos estos comandos los he intentado copiar en un solo archivo.bat pero solo corre la primera tarea
"Extrae el audio" al correr la segunda tarea "quitar los primeros 5 caracteres" solo se lleva acabo en el primer archivo


Les agradeceria mucho su ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antonio Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Antonio Masana (811 intervenciones) el 13/01/2018 21:09:57
Como no has puesto el BAT tal y como lo tienes no se que es lo que tienes y lo que hace, supongo que debes tener algo asi

1
2
3
4
5
6
7
8
9
10
11
12
13
for %%a in ("*.mp4") do ffmpeg -i "%%a" -b:a 192000K -vn "%%~na.aac"
REM Quitar los primeros 5 caracteres
for %%a in (*.aac) do call :lab %%a
:lab
   set original=%*
   set newname=%original:~5%
   ren "%original%" "%newname%"
REM Quitar guión medio
for %%f in (*.aac) do (set archivo=%%f&call :renombrar)
:renombrar
   set quitar=%archivo:-=%
   rename "%archivo%" "%quitar%"
   goto :eof


En cambio esto funciona muchísimo mejor:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
for %%a in (*.mp4) do ffmpeg -i "%%a" -b:a 192000K -vn "%%~na.aac"
for %%a in (*.aac) do call :lab %%a
for %%a in (*.aac) do call :renombrar %%a
goto :eof
 
: ---&--- Quitar los primeros 5 caracteres
:lab
   set original=%*
   set newname=%original:~5%
   ren "%original%" "%newname%"
   goto :eof
 
: ---&--- Quitar guión medio
:renombrar
   set archivo=%1
   set quitar=%archivo:-=%
   rename "%archivo%" "%quitar%"
   goto :eof

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 30
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Luis (17 intervenciones) el 15/01/2018 05:57:01
Disculpe la demora en contestar, funciona excelente desconozco por que en mi bat no funcionaba, muchas gracias quise puntar con 10 la respuesta pero no me fue posible.



Otra pregunta para borrar el video .mp4 despues de extraer el audio ?

Tambien seria agregar el numero 20 al inicio del archivo .aac estas dos tareas no se como realizarlas

Ejemplo:
20180101000000.aac

Me podria ayudar con esto ?


Para agregar el numero 20 intente esto:


rename _*.aac 20??.aac
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Antoni Masana (811 intervenciones) el 15/01/2018 07:25:29
Voy a contestar por partes.
Supongo que este es el bat original que no funciona:

1
2
3
4
5
6
7
8
9
10
11
12
13
for %%a in ("*.mp4") do ffmpeg -i "%%a" -b:a 192000K -vn "%%~na.aac"
REM Quitar los primeros 5 caracteres
for %%a in (*.aac) do call :lab %%a
:lab
   set original=%*
   set newname=%original:~5%
   ren "%original%" "%newname%"
REM Quitar guión medio
for %%f in (*.aac) do (set archivo=%%f&call :renombrar)
:renombrar
   set quitar=%archivo:-=%
   rename "%archivo%" "%quitar%"
   goto :eof

¿Que hace?
- Linea 1 - Convierte todos los MP4 a ACC
- Línea 3 - Lee el primer ACC salta a la línea 4, 5 , 6 , 7 , 8 y 9
- Línea 9 - Lee el primer ACC salta a la línea 10, 11, 12 , 13 y vuelve a la línea 3
y a partir de aqui el tercer FOR solo se ejecuta para el primer archivo ACC.

Segunda cuestión

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
for %%a in (*.mp4) do ffmpeg -i "%%a" -b:a 192000K -vn "%%~na.aac"
for %%a in (*.aac) do call :lab %%a
for %%a in (*.aac) do call :renombrar %%a
del *.mp4
goto :eof
 
: ---&--- Quitar los primeros 5 caracteres
:lab
   set original=%*
   set newname=%original:~5%
   ren "%original%" "%newname%"
   goto :eof
 
: ---&--- Quitar guión medio
:renombrar
   set archivo=%1
   set quitar=%archivo:-=%
   rename "%archivo%" "%quitar%"
   goto :eof

El borrado lo he puesto en la línea 4, justo antes de finalizar

Añadir el 20 lo puedes hacer en 3 sitios:

- Línea 1 : for %%a in (*.mp4) do ffmpeg -i "%%a" -b:a 192000K -vn "20%%~na.aac"
- Linea 11 : ren "%original%" "20%newname%"
- Linea 18 : rename "%archivo%" "20%quitar%"

Pero SOLO en uno de ellos.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 30
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Luis Caballero (17 intervenciones) el 15/01/2018 08:01:31
Muchas gracias,para colocar el numero "20" lo coloque en la linea 11 funciono perfecto ya que en la primera linea al momento de quitar los primeros 5 caracteres este tambien se contemplaba


con respecto al delete ya habia pensado en eliminarlos con del*.mp4 pero el problema es que borra todos los mp4 en dado caso que yo finalice el proceso antes este borra todos los .mp4 que se encuentran en esa carpeta


Estaba pensando en algo asi

extraer .aac del .mp4
renombrar el .mp4 al que se le extrajo el audio por algo asi .mp4.bkp
renombrar el .aac
quitar primeros 5 caracteres
quitar guion
del *.mp4.bkp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Antoni Masana (811 intervenciones) el 15/01/2018 19:01:28
He añadido lo que has pedido:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
for %%a in (*.mp4) do call :Renombra "%%a"  "%%~na.acc"  "%%~na.bak"
for %%a in (*.aac) do call :lab %%a
for %%a in (*.aac) do call :renombrar %%a
goto :eof
 
: ---&--- Extrear datos y renombrar
:Renombra
   set MP4=%1
   set AAC=%2
   set BAK=%3
 
   ffmpeg -i  %MP4% -b:a 192000K -vn %AAC%
   ren %MP4%  %BAK%
   goto :eof
 
: ---&--- Quitar los primeros 5 caracteres
:lab
   set original=%*
   set newname=%original:~5%
   ren "%original%" "%newname%"
   goto :eof
 
: ---&--- Quitar guión medio
:renombrar
   set archivo=%1
   set quitar=%archivo:-=%
   rename "%archivo%" "%quitar%"
   goto :eof

Una puntualización: Si el nombre de los ficheros no tienen espacios en blanco tipo "Bon Jovi.mp4" las comillas en los REN, RENAME y FFMPEG no son necesarias. ahora bien si se da el caso al hacer el CALL el parámetro tiene que ir entre comillas y a la hora de quitar los 5 primero caracteres tienes que vigilar las comillas. Ahora que me fijo. Puede que ya lo estés haciendo, en lugar de tomar %1 tomas %* que es toda la cadena. Muy bueno, no se me había ocurrido.

Un detalle más: si falla la conversión no renombra el mp4 y sepas quien ha fallado:

1
2
3
ffmpeg -i  %MP4% -b:a 192000K -vn %AAC%
   if %ErrorLevel% EQU 0  ren %MP4%  %BAK%
   goto :eof
o
1
2
3
ffmpeg -i  %MP4% -b:a 192000K -vn %AAC%
   if exist %AAC%  ren %MP4%  %BAK%
   goto :eof

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 30
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Luis (17 intervenciones) el 15/01/2018 22:04:28
Excelente lo verifico y escribo comentarios muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 30
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Luis (17 intervenciones) el 16/01/2018 07:36:16
Copie asi pero no genera los .aac:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
for %%a in (*.mp4) do call :Renombra "%%a"  "%%~na.acc"  "%%~na.bak"
 
for %%a in (*.aac) do call :lab %%a
 
for %%a in (*.aac) do call :renombrar %%a
 
goto :eof
 
 
 
: ---&--- Extrear datos y renombrar
 
:Renombra
 
   set MP4=%1
 
   set AAC=%2
 
   set BAK=%3
 
 
 
   ffmpeg -i  %MP4% -b:a 192000K -vn %AAC%
 
   if exist %AAC%  ren %MP4%  %BAK%
 
   goto :eof
 
 
 
: ---&--- Quitar los primeros 5 caracteres
 
:lab
 
   set original=%*
 
   set newname=%original:~5%
 
   ren "%original%" "%newname%"
 
   goto :eof
 
 
 
: ---&--- Quitar guión medio
 
:renombrar
 
   set archivo=%1
 
   set quitar=%archivo:-=%
 
   rename "%archivo%" "%quitar%"
 
   goto :eof
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 30
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Luis (17 intervenciones) el 16/01/2018 10:00:29
He descubierto el error de sintaxis en

Linea 1: for %%a in (*.mp4) do call :Renombra "%%a" "%%~na.acc" "%%~na.bak"

Esa extension no sirve unicamente la cambie a la extension correcta .aac y funciona perfecto ahora quedo asi el .bat

Muchas gracias maestro ;)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
for %%a in (*.mp4) do call :Renombra "%%a"  "%%~na.aac"  "%%~na.bkp"
 
for %%a in (*.aac) do call :lab %%a
 
for %%a in (*.aac) do call :renombrar %%a
 
Del *.bkp
 
goto :eof
 
 
 
: ---&--- Extrear datos y renombrar
 
:Renombra
 
   set MP4=%1
 
   set AAC=%2
 
   set Bkp=%3
 
 
 
   ffmpeg -i  %MP4% -b:a 192000K -vn %AAC%
 
   ren %MP4%  %BKP%
 
   goto :eof
 
 
 
: ---&--- Quitar los primeros 5 caracteres
 
:lab
 
   set original=%*
 
   set newname=%original:~5%
 
   ren "%original%" "20%newname%"
 
   goto :eof
 
 
 
: ---&--- Quitar guión medio
 
:renombrar
 
   set archivo=%1
 
   set quitar=%archivo:-=%
 
   rename "%archivo%" "%quitar%"
 
   goto :eof
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 30
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Luis (17 intervenciones) el 18/01/2018 12:00:14
Me gustaria agregar una nueva tarea al .bat

Ejemplo:

Tengo una carpeta llamada :

Video

Dentro de ella tengo 3 subcarpetas cada una con 130 videos .mp4 aproximadamente, los audios .aac no se pueden mezclar de una carpeta a otra

Y solo que haga el proceso de extraer el audio a archivos que cumplan con una fecha especifica por ejemplo que solo realice el .bat hasta

01-DIC-2017 Siempre y cuando exista la fecha 01-Feb-2018

Con esto tendria 1 mes completo

Aqui pense en un Minage (pero cada mes tendria que cambiar la fecha)

o una sentencia que calcule el hoy con 1 mes atras (se requiere tener 1 mes exacto ejemplo los 31 días de enero en este ejemplo


Poder ejecutarlo en la carpeta video y que en envie a la carpeta backup los audios .aac

habia pensado en ocupar un find y un if
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Antoni Masana (811 intervenciones) el 18/01/2018 12:49:23
No entiendo lo de las fechas.

en la frase "realice el .bat hasta 01-DIC-2017 Siempre y cuando exista la fecha 01-Feb-2018" me he perdido completamente.

En las siguientes frases deduzco y no estoy seguro que:

- si hoy es 1 de Febrero trate los ficheros entre el 1 y 31 de Enero ambos inclusive.
- si hoy es 1 de Marzo trate los ficheros entre el 1 y 28 de Febrero ambos inclusive.
- etc.

Lo de las 3 subcarpetas no entiendo que tiene que ver.
Pero si tienes una carpeta VIDEO y quieres que desde esta ejecutes el BAT y repase todas las subcarpetas para no tener que estar ejecutando en cada una de ellas se puede hacer.

Pongo un ejemplo:

1
2
3
4
5
6
7
8
9
C:\Video              Aqui el bat
    |
    +- SubVideo_1     Aqui hay MP4 que convertir a AAC y dejar aqui mismo
    |
    +- SubVideo_2     Aqui hay MP4 que convertir a AAC y dejar aqui mismo
    |
    +- SubVideo_3     Aqui hay MP4 que convertir a AAC y dejar aqui mismo
    |
    +- etc...

Estructura de directorios y que hace un solo BAT

Ya me contaras.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 30
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Luis (17 intervenciones) el 19/01/2018 05:35:24
Buenas noches dusculpe por no expresarme correctamente

Lo de las fechas cuento con videos desde 2017-05-01 hasta la fecha actual 2018-01-18

Ahora tengo que tener los .mp4 de 1 mes completo
En mi caso seria Diciembre y Enero
Y hasta que exista Febrero 1 haga el respaldo de .mp4 to .aac en la carpeta Diciembre pero que o toque ni videos que tengan fecha mayor a 1- Enero-2018

Espero me haya explicar bien


En caso del bat que realice en diferentes carpetas es asi como ud lo menciono, lo pruebo y le envio comentarios muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Antoni Masana (811 intervenciones) el 19/01/2018 07:53:06
Dos por el precio de uno.

Si lo ejecutas ahora te procesada todo Diciembre

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
@echo off
Set DD=1%date:~0,2%
Set MM=1%date:~3,2%
Set AA=1%date:~6,4%
 
SET /A MM=MM-1
IF %MM% EQU 100 SET /A AA=AA-1
IF %MM% EQU 100 SET /A MM=MM+12
 
Set Desde=%AA:~1,4%%MM:~1,2%00
Set Hasta=%AA:~1,4%%MM:~1,2%99
 
set Home=%CD%
for /D %%d in ( . *.*) do call :Directorio "%%d"
goto :eof
 
: ---&--- Recorre el directorio
:Directorio
    SET Ruta=%1
    SET Ruta=%Ruta:~1,-1%
    CD "%Home%\%Ruta%"
    for %%a in (*.mp4) do call :Renombra "%%a"  "%%~na.aac"  "%%~na.bkp" %%~ta
    for %%a in (*.aac) do call :lab %%a
    for %%a in (*.aac) do call :renombrar %%a
    Del *.bkp
    goto :eof
 
: ---&--- Extrear datos y renombrar
:Renombra
   set MP4=%1
   set AAC=%2
   set Bkp=%3
   set Fecha=%4
   set AAMMDD=%Fecha:~6,4%%Fecha:~3,2%%Fecha:~0,2%
 
   IF %AAMMDD% LSS %Desde% goto :EOF
   IF %AAMMDD% GTR %Hasta% goto :EOF
 
   ffmpeg -i  %MP4% -b:a 192000K -vn %AAC%
   ren %MP4%  %BKP%
   goto :eof
 
: ---&--- Quitar los primeros 5 caracteres
:lab
   set original=%*
   set newname=%original:~5%
   ren "%original%" "20%newname%"
   goto :eof
 
: ---&--- Quitar guión medio
:renombrar
   set archivo=%1
   set quitar=%archivo:-=%
   rename "%archivo%" "%quitar%"
   goto :eof

IMPORTANTE No esta probado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 30
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Luis (17 intervenciones) el 19/01/2018 08:59:54
Estuve leyendo mas acerca del movimiento por fechas
en otro tema en el cual tambien ud intervino, me tome la libertad de copiar el bat


Esto hace lo que deseas. Solo tienes que hacer 3 cambios.
1.- Poner dentro del parentesis lo que quieres copiar. Por ejemplo (*.DOC *.TXT)
2.- Quitar el ECHO de la penultima linea.
3.- Cambiar el ORIGEN y el DESTINO por los que corresponda.


1
2
3
4
5
6
7
8
9
10
11
12
@ECHO OFF
SET AA=%DATE:~6,4%
SET MM=%DATE:~3,2%
SET DD=%DATE:~0,2%
SET HOY=%DD%/%MM%/%AA%
CD \ORIGEN
FOR %%A IN (*.BAT) DO CALL :MOVER %%A %%~TA
GOTO:EOF
:MOVER
SET FECHA=%2
ECHO IF (%Hoy%) == (%2) MOVE %1 \DESTINO\%1
GOTO:EOF


En este caso busca archivos de HOY y los envia a una carpeta "X"


En mi caso seria los menores a 2 meses
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 30
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Luis (17 intervenciones) el 24/01/2018 10:02:14
- Buenas noches, disculpe he probado el bat pero se podria configurar que solo procese los videos menores a 4 meses del mes actual asi se puede cubrir todos los años,

Me refiero a que enves de tomar el dia de hoy como referencia seria tomar Enero y que solo procese los videos menores a 4 meses. Solo procesaria los que son del mes Octubre 2017

- La configuracion de la fecha no le he entendido muy bien

- Para las Carpetas sub tendria que poner forzasamente el nombre de la carpeta o esta se puede tomar automaticamente

- Hay algun comando para "Pausa" ya que envia la utlizació disco duro al 100% y este retrasa los demas procesos que se llevan actualmente

(Lei por ahi que se le puede poner una normativa que se ejecute con el minimo de recursos del sistema)

(Otra solucion que se me ocurrio seria que solo se ejecute cada 30 min

Ejemplo:
De todas las horas que comience a las 00:05 y termine a las 00:35) para que no afecte los demas procesos que se llevan acabo en el equipo

De antemano le agradezco la ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Antoni Masana (811 intervenciones) el 24/01/2018 10:12:11
Esto te mueve todos los ficheros de Octubre de 2017

1
2
3
4
5
6
7
8
9
10
@ECHO OFF
SET Desde=171000
SET Hasta=171099
CD \ORIGEN
FOR %%A IN (*.BAT) DO CALL :MOVER %%A %%~TA
GOTO:EOF
:MOVER
   SET FECHA=%2
   IF %Fecha% GTR %Desde%  IF %Fecha% LSS %Hasta%  MOVE %1 \DESTINO\%1
   GOTO:EOF

No es lo mismo que desde sea 171000 o 171001 por que en el primer caso es GTR (mayor que) y en el segundo caso GEQ (mayor que o igual)

1
2
3
4
5
6
7
8
donde op-de-comparación puede ser:
 
    EQU - igual
    NEQ - no igual
    LSS - menor que
    LEQ - menor que o igual
    GTR - mayor que
    GEQ - mayor que o igual

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 30
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Luis (17 intervenciones) el 24/01/2018 10:57:50
Bueno en este caso mueve los archivos .bat (no se si estoy en lo correcto)

Lo que seria la solucion es solo que verifique que el video sea menor a Octubre o menor a 3 meses (me pareceria mejor esta opcion ya que no se tendria que cambiar cada mes al bat) si es menor entonces lleva acabo el proceso siguiente



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
for %%a in (*.mp4) do call :Renombra "%%a"  "%%~na.aac"  "%%~na.bkp"
 
for %%a in (*.aac) do call :lab %%a
 
for %%a in (*.aac) do call :renombrar %%a
 
Del *.bkp
 
move *.aac "Backup AAC"
 
goto :eof
 
 
 
: ---&--- Extrear datos y renombrar
 
:Renombra
 
 
 
   set MP4=%1
 
   set AAC=%2
 
   set Bkp=%3
 
 
 
 
   ffmpeg -i  %MP4% -b:a 192000K -vn %AAC%
 
   ren %MP4%  %BKP%
 
 
   goto :eof
 
 
 
: ---&--- Quitar los primeros 5 caracteres
 
:lab
 
   set original=%*
 
   set newname=%original:~5%
 
   ren "%original%" "20%newname%"
 
   goto :eof
 
 
 
: ---&--- Quitar guión medio
 
:renombrar
 
   set archivo=%1
 
   set quitar=%archivo:-=%
 
   rename "%archivo%" "%quitar%"
 
   ren %AAC%  %BKP%
 
   goto :eof
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 30
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

No puedo ejecutar multitareas en .bat

Publicado por Luis (17 intervenciones) el 27/09/2018 11:58:29
Muy buenas noches siguiendo y complementando este tema espero me puedan ayudar
Lo que requiero hacer es lo siguiente
*Copiar 2 audios de diferente ip
*Crear una carpeta con las iniciales del audio de cada archivo
*Mover los archivos que se copiaron a la carpeta TEST a su carpeta creada de cada audio
*El Bat que se genero anteriormente que quita los caracteres lo llamo como "renombra.bat" el cual copio a las carpetas creadas
------------------- Hasta aqui todo bien -----------------------
Pero al momento de querer correr el Renombra.bat en todas las carpetas creadas solo lo hace en la primera y en ocasiones no ejecuta Renombra.bat

Espero poderme haber entendido dejo mi .bat que realiza la mayoria de las cosas antes mencionadas, solo que no ejecuta las copias de renombra.bat de las carpetas creadas


1
2
3
4
5
6
7
8
9
10
11
12
13
14
CD C:\Users\luis\Desktop\Test
COPY \\1.1.1.1\Audio$\abcd_180927-003000.m4a C:\Users\luis\Desktop\test
COPY \\1.1.1.2\Audio$\efgh_180927-011000.aac C:\Users\luis\Desktop\test
ren *.m4a *.aac
md abcd
md efgh
move abcd*.aac  C:\Users\luis\Desktop\test\abcd
move efgh*.aac  C:\Users\luis\Desktop\test\efgh
COPY  C:\Users\luis\Desktop\test\Renombra.bat C:\Users\luis\Desktop\test\abcd
COPY  C:\Users\luis\Desktop\test\Renombra.bat C:\Users\luis\Desktop\test\efgh
CD C:\Users\luis\Desktop\test\abcd\renombra.bat
renombra.bat
CD C:\Users\luis\Desktop\test\abcd
renombra.bat
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar