Bonjour a tous,

Je suis débutant en script batch, donc désolé si certaines questions sont vraiment sans intérêt. J'ai parcouru le forum pour essayer de trouver une réponse mais en vain.

Voila j'ai un fichier text listant les fichiers que j'aimerais archiver
type:
Test_File_to_Archive\Dir1\File11.txt
Test_File_to_Archive\Dir1\Dir11\File111.txt
Test_File_to_Archive\Dir2\File21
Test_File_to_Archive\Dir2\File22

voila la commande que je lance
j'arrive à parcourir le fichier et à récuperer chaque ligne
J'arrive à récuperer le nom du fichier, son extension
mais je n'arrive pas à extraire le chemin du fichier dans lequel j'aimerais remplacer Test_File_to_Archive en File_Archive

Code : Sélectionner tout - Visualiser dans une fenêtre à part
for /f "delims=" %%i in ('type %1') do If exist %%i call zipFile.bat %%i
et mon fichier zipFile.bat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
::recherche le chemin du fichier
Set DIR_NAME=%~dp1

::recherche le nom du fichier
Set FILE_NAME_WITHOUT_EXTENTION=%~n1

::ne marche pas
::FOR /F "delims='%FILE_NAME_WITHOUT_PATH%'" %%i in ('echo %1') do Set DIR_NAME=%%i 

::recherche l'extention
Set FILE_NAME_EXTENTION=%~x1

::supprime le zip si existe deja
If exist %DIR_NAME%%FILE_NAME_WITHOUT_EXTENTION%.zip rm %DIR_NAME%/%FILE_NAME_WITHOUT_EXTENTION%.zip

mkdir "%DIR_NAME%"

::creer le zip
7z a -tzip %DIR_NAME%%FILE_NAME_WITHOUT_PATH%.zip %FILE_NAME_WITHOUT_EXTENTION%*

en sortie
File Name est ok
Extention est ok
DIR_NAME est le chemin du fichier a partir de c: et je n'arrive pas a modifier le dossier source pour mettre mon dir destination.


Comment doit je faire

Merci