Voir la version complète : Pour les pros...
Salut,
Je cherche un exe ou n'importe quoi capable de me modifier en série un fichier ini. J'avais un exe qui s'appelle profstr.exe mais il ne fonctionne pas dans mon cas et jusqu'à présent je n'ai pas encore trouvé de solution.
En fait, j'ai un fichier ini sur une série de machine distante à modifier et je voudrais éviter de devoir le faire à la mano sur chaque site...
Quelqu'un peut-il m'aider ?
Ben pas moi, ça, c'est sûr. :hello:
De rien. :mrgreen:
:loose:
Manu Militari
29/11/2006, 09h24
Je cherche un exe ou n'importe quoi capable de me modifier en série un fichier ini.
...
En fait, j'ai un fichier ini sur une série de machine distante à modifier et je voudrais éviter de devoir le faire à la mano sur chaque site...
Je suis plutôt serveur UNIX pour base de donnée, le monde Windows ... moyen pour moi :loose:
Personnellement dans ton cas, je modifierais le fichier .ini à la main pour obtenir un prototype. Puis tu crées un script FTP (à condition d'avoir les droits réseaux adéqueates). Celui-ci se connecte à la machine n°1 puis écrase l'ancienne version par le prototype. ... puis on recommence avec la machine n°2
(On aurais donc 2 fichiers scripts : le premier avec la liste des machines qui appelle le second et lui passe en paramètre l'IP de la machine à traiter. Le second script effectuant l'action proprement dite de connection et de transfert).
Point clé :
Il faut avoir la liste des adresses IP (ou des noms dans le domaine) des machines à modifier
Il faut que la version de fichier .ini soit identique sur chaque machine (pas de spécification particulière)
PS : j'en parlerais à mes collègues de la Hotline. mais nous sommes passé à Active Directory donc logiquement nous n'avons plus ces problèmes :confus:
A+
Salut,
Je cherche un exe ou n'importe quoi capable de me modifier en série un fichier ini. J'avais un exe qui s'appelle profstr.exe mais il ne fonctionne pas dans mon cas et jusqu'à présent je n'ai pas encore trouvé de solution.
En fait, j'ai un fichier ini sur une série de machine distante à modifier et je voudrais éviter de devoir le faire à la mano sur chaque site...
Quelqu'un peut-il m'aider ?
Pour des traitement redondants et distant, pas de solution miracle, il est temps d'apprendre un langage de script (http://fr.wikipedia.org/wiki/Langage_de_script) :)
Si tu travailes en environnement windows pur, regarde du côté de Windows Power Shell (http://fr.wikipedia.org/wiki/Microsoft_Command_Shell) ou du côté de WSH (http://en.wikipedia.org/wiki/WSH) .
Perso je bricole ce genre de truc en Python (http://fr.wikipedia.org/wiki/Python_%28langage%29).
Je suis plutôt serveur UNIX pour base de donnée, le monde Windows ... moyen pour moi :loose:
Personnellement dans ton cas, je modifierais le fichier .ini à la main pour obtenir un prototype. Puis tu crées un script FTP (à condition d'avoir les droits réseaux adéqueates). Celui-ci se connecte à la machine n°1 puis écrase l'ancienne version par le prototype. ... puis on recommence avec la machine n°2
(On aurais donc 2 fichiers scripts : le premier avec la liste des machines qui appelle le second et lui passe en paramètre l'IP de la machine à traiter. Le second script effectuant l'action proprement dite de connection et de transfert).
Point clé :
Il faut avoir la liste des adresses IP (ou des noms dans le domaine) des machines à modifier
Il faut que la version de fichier .ini soit identique sur chaque machine (pas de spécification particulière)
PS : j'en parlerais à mes collègues de la Hotline. mais nous sommes passé à Active Directory donc logiquement nous n'avons plus ces problèmes :confus:
A+
Oui mais mon problème est que le fichier ini est unique par machine, je dois y modifier une ligne après l'y avoir copié.
Pour des traitement redondants et distant, pas de solution miracle, il est temps d'apprendre un langage de script (http://fr.wikipedia.org/wiki/Langage_de_script) :)
Si tu travailes en environnement windows pur, regarde du côté de Windows Power Shell (http://fr.wikipedia.org/wiki/Microsoft_Command_Shell) ou du côté de WSH (http://en.wikipedia.org/wiki/WSH) .
Perso je bricole ce genre de truc en Python (http://fr.wikipedia.org/wiki/Python_%28langage%29).
Oui c'est un peu pur cela que je fais des études :lol:
Je me demandais en fait s'il n'y avait pas un truc qui existe pour le faire de façon systématique
En Python ça donnerait ça
import ConfigParser
src = "config.ini"
dest = "config.ini"
parser = ConfigParser.ConfigParser()
parser.read(src)
parser.set("SECTION1", "option1", "nouvelle valeur")
fDest = open(dest, "w")
parser.write(fDest)
Dur de trouver plus souple à l'usage, les langages de script c'est le couteau suisse de l'admin réseau. L'équivalent en VBScript doit être un poil plus verbeux mais c'est la même logique.
Tu ne perdras jamais ton temps à apprendre a en manier l'un ou l'autre.
En Python ça donnerait ça
import ConfigParser
src = "config.ini"
dest = "config.ini"
parser = ConfigParser.ConfigParser()
parser.read(src)
parser.set("SECTION1", "option1", "nouvelle valeur")
fDest = open(dest, "w")
parser.write(fDest)
Dur de trouver plus souple à l'usage, les langages de script c'est le couteau suisse de l'admin réseau. L'équivalent en VBScript doit être un poil plus verbeux mais c'est la même logique.
Tu ne perdras jamais ton temps à apprendre a en manier l'un ou l'autre.
Et je pourrais mettre "nouvelle valeur" en variable en fonction d'ip de la machine de destination ?
Dans le cas d'un traitement redondant tu dois travailler avec une boucle. A toi de décider la structure de donnée (http://fr.wikipedia.org/wiki/Structure_de_donn%C3%A9e) (tableau, liste, dictionnaire etc..) que tu vas utiliser
Ici je vais utiliser 2 listes.
Je boucle sur la liste des nom PC windows pour ouvrir le fichiers INI sur chacun d'eux. La liste des valeurs est ordonnée pour se caler sur celle des PC, compteur sert à se positionner sur la bonne valeur.
Import ConfigParser
Lst_nomPC=['Quick1','Quick2','Quick3',]
Lst_valeur=['Burger','Salad','LibertyFries']
compteur=0
for eachPC in Lst_nomPC:
src = "config.ini"
dest = "config.ini"
parser = ConfigParser.ConfigParser()
parser.read(eachPC+src)
parser.set("SECTION1", "option1", Lst_valeur[compteur])
fDest = open(eachPC+dest, "w")
parser.write(fDest)
compteur=compteur+1
Exemple vite fait, en réfléchissant y'a moyen de faire mieux. Mais comme les scripts sont souvent à usage unique personne n'est très regardant :lol:
vBulletin® v.3.7.6, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Tous droits réservés - Version française vbulletin-fr.org