descomprima la línea de comando para sincronizar la carpeta de destino

descomprima la línea de comando para sincronizar la carpeta de destino

¿Hay alguna manera de descomprimir un .zip en una carpeta y sincronizar el contenido de esa carpeta con el contenido del .zip?

Sé que puedes hacer una opción -u(pdate) que actualizará la carpeta con archivos más nuevos, pero eso no es suficiente. Lo necesito para realizar una sincronización real (eliminar archivos que no están presentes en el archivo .zip y actualizar los archivos más nuevos).

También debe ser rápido, ya que sincronizaré archivos .zips grandes. Por lo tanto, limpiar y descomprimir no es una opción.

Estoy abierto a cualquier herramienta que haga el trabajo. Pero tiene que funcionar sin supervisión desde la línea de comando.

Respuesta1

WinZiptiene un complemento de soporte de línea de comandos llamado WZUNZIP.EXEcon la siguiente opción que se puede usar en combinación con su -eargumento al extraer:

-norte-- Descomprima sólo los archivos más nuevos. Esta opción actualiza los archivos existentes si el archivo archivado es más nuevo y crea otros nuevos si aún no existen.

Respuesta2

Yo mismo estuve buscando algo que tuviera esta capacidad durante bastante tiempo. La utilidad Info-ZIP es gratuita, se basa en la línea de comandos y tiene un modificador -FS que eliminará los archivos del archivo que ya no existen en la carpeta de origen, además de actualizar los archivos más nuevos. Sincronización de archivos IE ZIP. http://www.info-zip.org/ Nota: El único problema que tengo con esta utilidad es que no existe la posibilidad de especificar explícitamente la carpeta de origen como parte de los argumentos de la línea de comando. Utiliza el directorio de trabajo actual como fuente. Entonces, en un script, usaría el comando CD para cambiar primero al directorio de origen y luego iniciar el comando ZIP. Por ejemplo:

CD /D D:\Program Settings\Favorites
zip -FS -r -9 -b %Temp% -q -ds 0 "D:\Backup\Favorites.zip" .

información relacionada