[Batch] Probleme avec Setlocal EnableDelayedExpansion
Bonjour,
je dois faire un fichier bat pour pouvoir automatiser l'upload de fichier jar (java)
sur le repo d'entreprise.
Mon fichier batch recupere tous les jar d'un repertoire recupere les noms des
fichier en enlevant l'extention et pour finir il lance la procedure d'upload.
Naturellement je fais tout ca dans une boucle.
Pour que cela fonctionne j'utilise l'expansion de variable avec la commande
set EnableDelayedExpansion
voici mon script:
En entré il prend dans l'ordre un groupeID, un numéro de version et le chemin du repertoire à lister
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
@echo off
del deploy.tmp
dir %3\*.jar /b > deploy.tmp
rem setlocal enabledelayedexpansion
setlocal EnableDelayedExpansion
for /F "delims=\" %%D in (deploy.tmp) do (
set mavar=%%D
set artifactID=!mavar:~0,-4!
echo !mavar!
echo !artifactID!
mvn deploy:deploy-file -DgroupId=%1 -DartifactId=!artifactID! -Dversion=%2 -Dpackaging=jar -Dfile=%3\%%D -Durl=monrepo -DrepositoryId=deploymentRepo -e
)
endlocal |
Quand je le lance il fonctionne bien pour la 1ere occurence mais ensuite
il perd les variables (nom de fichier avec et sans extention) sans que je comprenne pourquoi.
Est ce que quelqu'un pourrait m'aider?
Merci d'avance pour votre aide.