%% A était inattendu en ce moment

Je veux compresser un dossier contenant des fichiers. Donc, pour faire cela, je dois parcourir toute la liste de fichiers et exécuter la commande 7za. (Version de ligne de commande 7zip)

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

Cependant, windows indique que cette commande n’est pas valide.

Le message d’erreur est

 %%A was unexpected at this time 

Comment surmonter ce problème?

%%A est utilisé lorsque vous utilisez un programme de traitement par lots (* .bat)

essayez d’en supprimer un '%'

Si vous le faites depuis la ligne de commande, vous n’avez pas à échapper au%, donc %a est suffisant. Vous devez uniquement utiliser %%a des fichiers de commandes.

En outre, vous devez sélectionner les fichiers au lieu d’exécuter “G: \ Files Sample \ zip \ txt \ *. Txt” en tant que commande, ce que fait le commutateur /f avec des guillemets simples. La commande complète serait: for %A in ("G:\Files Sample\zip\txt\*.txt") do 7za -tzip "%A.zip" "%A"

Essayez ceci dans un fichier de commandes.

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

Ajouter /R tant qu’option pour rechercher les fichiers dans tous les sous-dossiers.

Une bonne explication des méthodes cmd que vous pouvez trouver à ss64