2010-01-18 15:37:26 +0000 2010-01-18 15:37:26 +0000
116
116

7Zip - Línea de comandos : ¿Excluir carpeta(s) por patrón comodín?

¿Alguna idea de cómo excluir una(s) ruta(s) salvaje(s) de un comando 7zip de línea de comandos?

Estoy haciendo algo así

7z.exe a -t7z archive.7z FolderToArchive\ -mx0

y me gustaría excluir cualquier carpeta \bin\*.* o \obj\*.* que se encuentre debajo de “FolderToArchive”.

Para excluir archivos, puede utilizar el parámetro -x. El archivo de ayuda da este ejemplo para usar -x:

7z a -tzip archive.zip *.txt -x!temp.*

Eso está muy bien para excluir un archivo. Pero, de nuevo, me gustaría excluir una carpeta especificada con comodines. Bajo mi “FolderToArchive” hay múltiples carpetas, bajo esas carpetas puede haber o no carpetas `bin¿Alguna idea de cómo excluir una(s) ruta(s) salvaje(s) de un comando 7zip de línea de comandos?

Estoy haciendo algo así

7z.exe a -t7z archive.7z FolderToArchive\ -mx0

y me gustaría excluir cualquier carpeta \bin\*.* o \obj\*.* que se encuentre debajo de “FolderToArchive”.

Para excluir archivos, puede utilizar el parámetro -x. El archivo de ayuda da este ejemplo para usar -x:

7z a -tzip archive.zip *.txt -x!temp.*

Eso está muy bien para excluir un archivo. Pero, de nuevo, me gustaría excluir una carpeta especificada con comodines. Bajo mi “FolderToArchive” hay múltiples carpetas, bajo esas carpetas puede haber o no carpetas y `obj¿Alguna idea de cómo excluir una(s) ruta(s) salvaje(s) de un comando 7zip de línea de comandos?

Estoy haciendo algo así

7z.exe a -t7z archive.7z FolderToArchive\ -mx0

y me gustaría excluir cualquier carpeta \bin\*.* o \obj\*.* que se encuentre debajo de “FolderToArchive”.

Para excluir archivos, puede utilizar el parámetro -x. El archivo de ayuda da este ejemplo para usar -x:

7z a -tzip archive.zip *.txt -x!temp.*

Eso está muy bien para excluir un archivo. Pero, de nuevo, me gustaría excluir una carpeta especificada con comodines. Bajo mi “FolderToArchive” hay múltiples carpetas, bajo esas carpetas puede haber o no carpetas `bin¿Alguna idea de cómo excluir una(s) ruta(s) salvaje(s) de un comando 7zip de línea de comandos?

Estoy haciendo algo así

7z.exe a -t7z archive.7z FolderToArchive\ -mx0

y me gustaría excluir cualquier carpeta \bin\*.* o \obj\*.* que se encuentre debajo de “FolderToArchive”.

Para excluir archivos, puede utilizar el parámetro -x. El archivo de ayuda da este ejemplo para usar -x:

7z a -tzip archive.zip *.txt -x!temp.*

Eso está muy bien para excluir un archivo. Pero, de nuevo, me gustaría excluir una carpeta especificada con comodines. Bajo mi “FolderToArchive” hay múltiples carpetas, bajo esas carpetas puede haber o no carpetas y . Me gustaría no incluirlas en el archivo. He probado patrones como

-x!bin\*
-x!bin\*.*
-x!\bin\*
-x!\bin\*.*
-x!\bin\*
-x!\bin\*.*

Ninguno parece excluir la carpeta `bin¿Alguna idea de cómo excluir una(s) ruta(s) salvaje(s) de un comando 7zip de línea de comandos?

Estoy haciendo algo así

7z.exe a -t7z archive.7z FolderToArchive\ -mx0

y me gustaría excluir cualquier carpeta \bin\*.* o \obj\*.* que se encuentre debajo de “FolderToArchive”.

Para excluir archivos, puede utilizar el parámetro -x. El archivo de ayuda da este ejemplo para usar -x:

7z a -tzip archive.zip *.txt -x!temp.*

Eso está muy bien para excluir un archivo. Pero, de nuevo, me gustaría excluir una carpeta especificada con comodines. Bajo mi “FolderToArchive” hay múltiples carpetas, bajo esas carpetas puede haber o no carpetas `bin¿Alguna idea de cómo excluir una(s) ruta(s) salvaje(s) de un comando 7zip de línea de comandos?

Estoy haciendo algo así

7z.exe a -t7z archive.7z FolderToArchive\ -mx0

y me gustaría excluir cualquier carpeta \bin\*.* o \obj\*.* que se encuentre debajo de “FolderToArchive”.

Para excluir archivos, puede utilizar el parámetro -x. El archivo de ayuda da este ejemplo para usar -x:

7z a -tzip archive.zip *.txt -x!temp.*

Eso está muy bien para excluir un archivo. Pero, de nuevo, me gustaría excluir una carpeta especificada con comodines. Bajo mi “FolderToArchive” hay múltiples carpetas, bajo esas carpetas puede haber o no carpetas y `obj¿Alguna idea de cómo excluir una(s) ruta(s) salvaje(s) de un comando 7zip de línea de comandos?

Estoy haciendo algo así

7z.exe a -t7z archive.7z FolderToArchive\ -mx0

y me gustaría excluir cualquier carpeta \bin\*.* o \obj\*.* que se encuentre debajo de “FolderToArchive”.

Para excluir archivos, puede utilizar el parámetro -x. El archivo de ayuda da este ejemplo para usar -x:

7z a -tzip archive.zip *.txt -x!temp.*

Eso está muy bien para excluir un archivo. Pero, de nuevo, me gustaría excluir una carpeta especificada con comodines. Bajo mi “FolderToArchive” hay múltiples carpetas, bajo esas carpetas puede haber o no carpetas `bin¿Alguna idea de cómo excluir una(s) ruta(s) salvaje(s) de un comando 7zip de línea de comandos?

Estoy haciendo algo así

7z.exe a -t7z archive.7z FolderToArchive\ -mx0

y me gustaría excluir cualquier carpeta \bin\*.* o \obj\*.* que se encuentre debajo de “FolderToArchive”.

Para excluir archivos, puede utilizar el parámetro -x. El archivo de ayuda da este ejemplo para usar -x:

7z a -tzip archive.zip *.txt -x!temp.*

Eso está muy bien para excluir un archivo. Pero, de nuevo, me gustaría excluir una carpeta especificada con comodines. Bajo mi “FolderToArchive” hay múltiples carpetas, bajo esas carpetas puede haber o no carpetas y . Me gustaría no incluirlas en el archivo. He probado patrones como

-x!bin\*
-x!bin\*.*
-x!\bin\*
-x!\bin\*.*
-x!\bin\*
-x!\bin\*.*

Ninguno parece excluir la carpeta . ¿Es esto simplemente una limitación de 7zip?

Respuestas (3)

142
142
142
2010-01-18 15:53:48 +0000

Para excluir las carpetas bin y obj de forma recursiva puedes utilizar el comando

7z.exe a -t7z archive.7z FolderToArchive\ -mx0 -xr!bin -xr!obj
18
18
18
2014-03-01 10:27:16 +0000

Para evitar el error, utilice -r o -xr con cuidado.

suponga que tiene directorios como

.\path1\path2\bin
.\path1\path2\src
.\path3\path4\path5\bin
.\path3\path4\path5\src

y ejecutas el comando

7z a -t7z archive.7z .\path1\path2 .\path3\path4\path5 -xr!bin

lo que obtienes en archive.7z:

.\path2\src
.\path5\src

Es decir, el `.\path2Para evitar el error, utilice -r o -xr con cuidado.

suponga que tiene directorios como

.\path1\path2\bin
.\path1\path2\src
.\path3\path4\path5\bin
.\path3\path4\path5\src

y ejecutas el comando

7z a -t7z archive.7z .\path1\path2 .\path3\path4\path5 -xr!bin

lo que obtienes en archive.7z:

.\path2\src
.\path5\src

Es decir, el y el `.\path5Para evitar el error, utilice -r o -xr con cuidado.

suponga que tiene directorios como

.\path1\path2\bin
.\path1\path2\src
.\path3\path4\path5\bin
.\path3\path4\path5\src

y ejecutas el comando

7z a -t7z archive.7z .\path1\path2 .\path3\path4\path5 -xr!bin

lo que obtienes en archive.7z:

.\path2\src
.\path5\src

Es decir, el `.\path2Para evitar el error, utilice -r o -xr con cuidado.

suponga que tiene directorios como

.\path1\path2\bin
.\path1\path2\src
.\path3\path4\path5\bin
.\path3\path4\path5\src

y ejecutas el comando

7z a -t7z archive.7z .\path1\path2 .\path3\path4\path5 -xr!bin

lo que obtienes en archive.7z:

.\path2\src
.\path5\src

Es decir, el y el se convirtieron en la carpeta superior en archive.7z, y ambos directorios bin fueron excluidos.

-x sólo admite rutas/nombres de archivo relativos a la carpeta superior del archivo.

Por lo tanto, si sólo quiere excluir .\path1\path2\bin, pero incluir todos los demás directorios ‘bin’, el comando debería ser así:

7z a -t7z archive.7z .\path1\path2 .\path3\path4\path5 -x!path2\bin

He intentado utilizar la ruta absoluta en -x, pero nunca lo he conseguido.

  • *

Actualización:

Hay una opción -spf en 7z para Linux que funciona con ruta absoluta.

Según Marco , -spf también está disponible en Windows desde 7-zip 15.14

0
0
0
2020-02-20 10:28:15 +0000