Creo que me estoy perdiendo algo porque parece que no puedo encontrar lo que esto significa.
Ejemplo:
for /D %%A in (*) do "\7za.exe" u -t7z -m9=LZMA2 "%%A.7z" "%%A"
Se suponía que esa línea debía usar una versión de línea de comandos 7zippara comprimir carpetas individuales, pero no sé qué %%Asignifica en este contexto.
command-line
batch
batch-file
7-zip
Jim Kieger
fuente
fuente

Respuestas:
El
forcomando necesita un marcador de posición para que pueda pasar variables para su uso más adelante en la consulta, le decimos que use el marcador de posición%A, la razón por la que el código que vio%%Ase debe a que dentro de un archivo por lotes (que supongo es donde encontró esto) el%tiene un significado especial, por lo que debe hacerlo dos veces%%para que se convierta en un solo%para pasar alforcomandoPara separar realmente lo que está haciendo el comando, el comando tiene dos partes:
Lo que dice esta parte es que para cada carpeta en la carpeta actual ejecute el siguiente comando reemplazando
%%Acon el nombre de la carpeta que se está procesando actualmente.Lo que dice esta parte es ejecutar el comando
"\7za.exe" u -t7z -m9=LZMA2 "%%A.7z" "%%A"y reemplazar los dos%%Acon el registro actual que estamos procesando.fuente
Es una variable.
Ese ejemplo particular usa la opción de directorio de un bucle FOR , iterando a través de los directorios y asignándolos a %% A.
Tampoco es un ejemplo de línea de comandos, sino un ejemplo de archivo por lotes. En los archivos por lotes, debe usar %% A, mientras que en la línea de comandos, simplemente usaría% A.
fuente
En su escenario, el %% A es un marcador de posición para lo que el ciclo "for" está iterando (que / D indica directorios). Entonces, cada iteración del ciclo, %% A es uno de los directorios.
Verá %% en lugar de% en el código de lote. Verá% en lugar de %% usado en su símbolo del sistema.
Entonces, sepa que si copia un código de archivo por lotes en un símbolo del sistema y lo ejecuta con %% en uso, se producirá un error, y viceversa.
fuente