2012-02-16 11 views
37

Quiero comprimir una carpeta que contiene archivos. Entonces, para hacer eso necesito pasar por la lista completa de archivos y ejecutar el comando 7za. (Versión de línea de comandos 7zip)%% A inesperado en este momento

for /f %%A in ('"G:\Files Sample\zip\txt\*.t 
xt"') do 7za -tzip "%%A.zip" "%%A" 

Sin embargo, Windows dice que este comando no es válido.

mensaje de error es

%%A was unexpected at this time 

¿cómo superar este problema?

Respuesta

59

%%A se utiliza cuando se utiliza un programa por lotes (* .bat)

intentar quitar uno '%'

+0

yup que ayudó, y también hay un punto a destacar, es necesario poner el comando dir/b dentro de la región entre corchetes – klijo

+0

has salvado la vida :) – VenomVendor

+0

También se debe tener en cuenta que no se puede usar algo como% de archivos, parece. Parece que solo se permite una sola letra para el parámetro. – fschmitt

3

Si usted lo está haciendo desde la línea de comandos, no tiene que escapar del%, entonces %a es suficiente. Solo necesita usar %%a desde archivos por lotes.

Además, debe seleccionar los archivos en lugar de ejecutar "G: \ Files Sample \ zip \ txt \ *. Txt" como un comando, que es lo que hace el modificador /f en combinación con comillas simples. El comando completo sería: for %A in ("G:\Files Sample\zip\txt\*.txt") do 7za -tzip "%A.zip" "%A"

0

Pruebe esto en un archivo por lotes.

FOR "G:\Files Sample\zip\txt\" %%G IN (*.txt) DO 7za -tzip "%%G.zip" "%%G" 

Añadir /R como opción para buscar los archivos de todas las subcarpeta.

Una buena explicación de los métodos cmd- se puede encontrar en ss64

Cuestiones relacionadas