Bonjour à tous,

J'ai développé un code permettant de modifier le fichier de config Tomcat. Pour cela, j'ai implémenté un code python et je le fait appel via un script Batch.

J'ai deux soucis qui me gêne depuis deux jours: 1) Tout d'abord, quant je lance le script Batch en mode non administrateur, le code modifie le fichier "tomcat-users.xml" qui se trouve dans le dossier contenant le même script Batch alors que le paramètre qui définie le fichier réfère à un autre fichier. J'ai essayé d'enlever ce fichier et le code Batch ne m'affiche pas une erreur mais il fait rien...

2) Quant je lance le code Batch en mode administrateur, il ne fait rien même pour le fichier qui se trouve dans le même dossier que le fichier python..


Voilà le deux codes:

Script Batch:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8

@echo off

set current_path=%~dp0
set current_path_modified=%current_path:~0,-1%

C:\Python27\python.exe "%current_path_modified%\addAdminTomcat.py" "C:\Program Files\tomcat-users.xml" "admin" "password"
Code python:

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

import xml.etree.ElementTree as ET
import sys
class EditConfigTomcat:
    def add_admin(self,Fichier,user,password):
        tree = ET.parse(Fichier)
        xmlRoot = tree.getroot()
        attributes = {"name": user, "password": password, "roles": "admin,manager"}
        child = ET.Element('user',attributes)
        xmlRoot.append(child)
        tree.write("tomcat-users.xml", "cp1252", True)

if __name__=="__main__":
    edt=EditConfigTomcat()
    edt.add_admin(sys.argv[1],sys.argv[2],sys.argv[3])
J'ai besoin de lancer le code Batch en mode administrateur puisque je change un fichier sous C:/ Program Files/xxxx
Toute information sera le bien venue et Merci beaucoup d'avance !