Je pense que je manque quelque chose parce que je n'arrive pas à trouver ce que cela signifie.
Exemple: pour/D %% A dans (*), faites "\ 7za.exe" u -t7z -m9 = LZMA2 "%% A.7z" "%% A"
Cette ligne était censée utiliser une version en ligne de commande de 7Zip pour compresser des dossiers individuels, mais je ne comprends pas ce que signifie %% A dans ce contexte.
La commande for
nécessite un espace réservé afin que vous puissiez transmettre des variables à utiliser ultérieurement dans la requête. Nous lui disons d'utiliser l'espace réservé %A
, le motif du code vous avez vu utiliser %%A
parce que, dans un fichier de commandes (ce qui, je suppose, vous l'avez trouvé), le %
a une signification spéciale, vous devez donc le faire deux fois %%
pour qu'il soit transformé en un seul %
à transmettre à la commande for
Pour réellement séparer ce que la commande est en train de faire, la commande comporte deux parties:
for /D %%A in (*) do .....
La présente partie s’applique à chaque dossier du dossier en cours et exécute la commande suivante en remplaçant %%A
par le nom du dossier en cours de traitement.
..... "\7za.exe" u -t7z -m9=LZMA2 "%%A.7z" "%%A"
Ce que cette partie dit, c'est exécuter la commande "\7za.exe" u -t7z -m9=LZMA2 "%%A.7z" "%%A"
et remplacer les deux %%A
par l'enregistrement en cours que nous traitons.
C'est une variable.
Cet exemple particulier utilise l'option de répertoire d'une boucle FOR , en effectuant une itération à travers les répertoires et en les affectant à %% A.
Ce n'est pas non plus un exemple de ligne de commande, mais un exemple de fichier de commandes. Dans les fichiers de commandes, vous devez utiliser %% A, alors que vous utiliseriez simplement% A en ligne de commande.
Dans votre scénario, %% A est un espace réservé pour ce sur quoi la boucle "pour" parcourt (ce que le/D indique les répertoires). Ainsi, à chaque itération de la boucle, %% A est l’un des répertoires.
Vous verrez %% au lieu de% dans le code de lot. Vous verrez% au lieu de %% utilisé dans votre invite de commande.
Sachez donc que si vous copiez un code de fichier de commandes dans une invite de commande et que vous l'exécutez avec %% en cours d'utilisation, une erreur se produira, et vice versa.