O for
comando precisa de um espaço reservado para que você possa passar variáveis para uso posterior na consulta, estamos dizendo que use o espaço reservado %A
, a razão pela qual o código que você viu usa %%A
é porque dentro de um arquivo de lote (que eu assumo é onde você encontrou isso) o %
tem um significado especial, então você deve fazer isso duas vezes %%
para que ele seja transformado em um único %
a ser passado para o comando for
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 atualmente em processamento.
..... "za.exe" u -t7z -m9=LZMA2 "%%A.7z" "%%A"
O que esta parte diz é executar o comando "za.exe" u -t7z -m9=LZMA2 "%%A.7z" "%%A"
e substituir os dois %%A
pelo registro atual que estamos processando.