Actualizar o modificar ficheros rar de manera masiva

En una carpeta tengo los archivos, y en otra tengo todos los ficheros a los que quiero agregarle todos los archivos de la anterior carpeta.

En la captura se ve el proceso que quiero automatizar, espero me puedan ayudar. Gracias!

1 Respuesta

Respuesta
2

Lo siento pero no me queda muy claro que es lo que quieres. ¿Extraer los archivos contenidos en un comprimido RAR (o en varios RAR) en una carpeta de destino que ya tiene archivos, es decir añadirlos allí? ¿Agregar/añadir los archivos de una carpeta a un archivo RAR, ya existente, que está en otra carpeta? ¿Alguna otra cosa distinta de estas dos?

Al volverlo a leer me ha parecido más ajustada la segunda posibilidad. Creo que para eso bastaría ejecutar el comando (asumo que estás en Windows 10 o Windows 8, no en XP, que sería diferente):

"C:\Program Files (x86)\Winrar\rar" a "C:\Users\KevinWebg\Downloads\Archivo 1" "C:\<carpeta origen>\*.*"

C:\<carpeta origen> pretende ser el path de la carpeta donde están los archivos que se quieren añadir al RAR

Por cierto, si no quieres que dentro del RAR se cree la carpeta donde están los archivos debes añadir el parámetro "-ep":

"C:\Program Files (x86)\Winrar\rar" a -ep "C:\Users\KevinWebg\Downloads\Archivo 1" "C:\<carpeta origen>\*.*"

Funciona muy bien, tengo una duda como logro que el proceso sea de manera masiva. Porque solo se añade al archivo especifico, como hago que sea a todos los ficheros en la carpeta. Saludos!

Te había respondido ayer, o eso creía porque no veo la respuesta. Te decía que para esto ya si sería necesario un BAT. Algo como esto:

@echo off
set carparch=C:\<carpeta archivos>
set carprar=C:\Users\KevinWebg\Downloads
set carpwinrar=C:\Program Files (x86)\Winrar
for /f "tokens=* delims=" %%x in ('dir /b /a-d "%carprar%\*.rar"') do "%carpwinrar%\rar" a -ep "%%x" "%carparch%\*.*"

<carpeta archivos> habría que sustituirlo por el path de los archivos que se quieren añadir a cada uno de los RAR de la carpeta de archivos

Lo probé pero no hace nada.

@echo off
set carparch=C:\Users\KevinWebg\Downloads\ffdfd
set carprar=C:\Users\KevinWebg\Downloads\BAT
set carpwinrar=C:\Program Files\Winrar\rar
for /f" tokens=* delims=" %%x in ('dir /b /a-d "%carprar%\*.rar"') do "%carpwinrar%\rar" a -ep "%%x" "%carparch%\*.*"

Asi lo probe, luego agregar el path de los archivos que queria agregar. Pero no hace nada.

Dos cosas:
1. La carpeta del Winrar (a la que he llamado carpwinrar) debe contener el path de la carpeta, no el del ejecutable RAR. Es decir, en tu caso debería ser C:\Program Files\Winrar
2. En la sintaxis del FOR hay un error, las comillas deben estar pegadas al TOKENS y separadas del /F
No sé si tienes experiencia con BAT. Si no es así para depurar un BAT puede ser de ayuda añadir comandos al bucle DO para lo cual suele ser más cómodo permitir varias líneas. Por ejemplo podría quedar así:

@echo off
set carparch=C:\Users\KevinWebg\Downloads\ffdfd
set carprar=C:\Users\KevinWebg\Downloads\BAT
set carpwinrar=C:\Program Files\Winrar
for /f "tokens=* delims=" %%x in ('dir /b /a-d "%carprar%\*.rar"') do (
   echo Ha entrado al bucle DO
   echo El comando que va a ejecutar es:
   echo "%carpwinrar%\rar" a -ep "%%x" "%carparch%\*.*"
   "%carpwinrar%\rar" a -ep "%%x" "%carparch%\*.*"
   )

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas