Batch Script Using 7zip: Je veux que les fichiers zip portent le nom comme fichier d'origine


0

J'ai très peu d'expérience dans la création de fichiers .bat - j'ai plusieurs fichiers .bak que je dois compresser - ce répertoire reçoit régulièrement de nouveaux fichiers .bak. J'essaie de configurer un travail qui recherche tous les fichiers .bak et les compresse. Je souhaite transmettre le nom de fichier .bak afin que le fichier .zip porte le même nom que le fichier .bak.

Donc TestFile1.bak = TestFile1.zip, TestFile2.bak = TestFile2.zip ... etc

Je l'ai jusqu'à présent et cela fonctionne pour compresser un seul fichier, ou bien il zippe plusieurs fichiers .bak dans un fichier single.zip. Je n'arrive pas à comprendre comment passer par le nom de fichier .bak.

7a un -tzip "C: \ TestArchive \ AutoArchived \" "C: \ TestArchive *. *" -Mx5

Réponses:


0

Ce qui pourrait vous aider, c'est la commande FOR.

for /f "delims=#" %%i in ('dir /b *.bak') do ( 
  echo now working on file %%i
  rem use %%i in the 7zip command to compress only one file
)

Cela va boucler tous les fichiers retournés par la commande dir. Avec chaque boucle %%, je contiendra un fichier que vous pourrez ensuite utiliser pour votre commande 7zip.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.