49 votes

%%A était inattendu à ce moment

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

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

Cependant Windows dit que cette commande n'est pas valide.

Le message d'erreur est

 %%A was unexpected at this time

Comment surmonter ce problème ?

89voto

Royi Namir Points 34397

%%A est utilisé lorsque vous utilisez un programme batch (*.bat)

essayez de supprimer un '%'

5voto

aross Points 501

Si vous le faites depuis la ligne de commande, vous n'avez pas besoin d'échapper au %, donc %a est suffisant. Vous n'avez besoin d'utiliser que %%a partir de fichiers batch.

De plus, vous voulez sélectionner les fichiers au lieu d'exécuter "G:\Files Sample\zip\txt\*.txt" en tant que commande, ce que fait le /f en combinaison avec des guillemets simples. La commande complète serait : for %A in ("G:\Files Sample\zip\txt\*.txt") do 7za -tzip "%A.zip" "%A"

0voto

Andreas Rohde Points 603

Essayez ceci dans un fichier batch.

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

Ajoutez /R comme option pour rechercher les fichiers dans tous les sous-dossiers.

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X