O for
comando precisa de um espaço reservado para que você possa passar variáveis para uso posteriormente na consulta, estamos dizendo a ele para usar o espaço reservado %A
, a razão pela qual o código que você viu usa %%A
é porque dentro de um arquivo em lotes (que eu suponho que é onde você encontrou isso). %
tem um significado especial, então você deve fazê-lo duas vezes %%
para que seja convertido em um único %
a ser passado ao for
comando
Para realmente separar o que o comando está fazendo, há duas partes no comando:
for /D %%A in (*) do .....
O que esta parte diz é que para cada pasta na pasta atual, execute o seguinte comando substituindo %%A
pelo nome da pasta em processamento no momento.
..... "\7za.exe" u -t7z -m9=LZMA2 "%%A.7z" "%%A"
O que esta parte diz é executar o comando "\7za.exe" u -t7z -m9=LZMA2 "%%A.7z" "%%A"
e substituir os dois %%A
pelo registro atual que estamos processando.