Question
[RESOLU] Récupération lignes dans .txt
- Kazer2.0
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 10
- Remerciements reçus 0
il y a 13 ans 1 mois #13776
par Kazer2.0
[RESOLU] Récupération lignes dans .txt a été créé par Kazer2.0
Bonjour à tous,
Après recherche sur internet, je n'ai pas trouvé de solution (ou j'ai mal cherché) à mon problème.
J'utilise dans mon script différent chemin qu'on sélectionne avec un menu, et pour l'instant, j'ai mis en dur le chemin
(par exemple, je sélection dans le menu test, et ça me fait automatiquement un cd C:\test, si je sélectionne undossier, ça me fait automatiquement un cd C:\undossier).
Le problème c'est que mes chemins se composent en deux voir trois temps, par exemple sélection de l'os, puis de la version d'un logiciel
(du type C:\<OS>\<Versionlogiciel> )
J'ai fait en sorte que ça respecte un schéma (par exemple version logicien de type ccleanerv1.0 est noté pareil dans les différents dossier OS).
Je voudrait donc mettre tout ça dans un fichier séparé (pour modifier ça facilement)
Et ce sera mis en des variables précises, par exemple la variable $OS_2008 contient le chemin C:\$OS_2008 et contient la valeur C:\OS_2008, mais si je veut mettre un sous dossier, par exemple C:\mondossier\OS_2008, il faudra que le script soi capable lire dans le fichier texte la ligne, de connaitre la variable, puis la valeur, de sorte à mettre dans la variable $OS_2008 la valeur mondossier\OS_2008.
Je pensais à une syntaxe de ce type pour mon fichier text :
OS_2008=mondossier\OS_2008
(typiquement variable=valeur, ce qui mettrais donc la valeur mondossier\OS_2008 dans la variable $OS_2008).
Et avec ce que je trouve sur internet, je galère à faire ce truc, que je pensai simple, mais à priori non ^^
Si je suis pas assez compréhensible, faites moi le savoir.
Et merci d'avance de votre aide
Cordialement
Kazer2.0
Message édité par: Kazer2.0, à: 25/01/13 11:22<br><br>Message édité par: Kazer2.0, à: 29/01/13 14:25
Après recherche sur internet, je n'ai pas trouvé de solution (ou j'ai mal cherché) à mon problème.
J'utilise dans mon script différent chemin qu'on sélectionne avec un menu, et pour l'instant, j'ai mis en dur le chemin
(par exemple, je sélection dans le menu test, et ça me fait automatiquement un cd C:\test, si je sélectionne undossier, ça me fait automatiquement un cd C:\undossier).
Le problème c'est que mes chemins se composent en deux voir trois temps, par exemple sélection de l'os, puis de la version d'un logiciel
(du type C:\<OS>\<Versionlogiciel> )
J'ai fait en sorte que ça respecte un schéma (par exemple version logicien de type ccleanerv1.0 est noté pareil dans les différents dossier OS).
Je voudrait donc mettre tout ça dans un fichier séparé (pour modifier ça facilement)
Et ce sera mis en des variables précises, par exemple la variable $OS_2008 contient le chemin C:\$OS_2008 et contient la valeur C:\OS_2008, mais si je veut mettre un sous dossier, par exemple C:\mondossier\OS_2008, il faudra que le script soi capable lire dans le fichier texte la ligne, de connaitre la variable, puis la valeur, de sorte à mettre dans la variable $OS_2008 la valeur mondossier\OS_2008.
Je pensais à une syntaxe de ce type pour mon fichier text :
OS_2008=mondossier\OS_2008
(typiquement variable=valeur, ce qui mettrais donc la valeur mondossier\OS_2008 dans la variable $OS_2008).
Et avec ce que je trouve sur internet, je galère à faire ce truc, que je pensai simple, mais à priori non ^^
Si je suis pas assez compréhensible, faites moi le savoir.
Et merci d'avance de votre aide
Cordialement
Kazer2.0
Message édité par: Kazer2.0, à: 25/01/13 11:22<br><br>Message édité par: Kazer2.0, à: 29/01/13 14:25
Connexion ou Créer un compte pour participer à la conversation.
- SiSMik
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 492
- Remerciements reçus 0
il y a 13 ans 1 mois #13780
par SiSMik
Réponse de SiSMik sur le sujet Re:Récupération lignes dans .txt pour variables
Bonjour,
Je pense que tu tournes le problème dans le mauvais sens. Si je peux me permettre la génération de tes path pourrait être faite avec un fichier xml plutôt qu'un fichier texte.
[code:1]
<xml>
<OS_2008>MonDossier2008</OS_2008>
<ProgCCleaner>DossierCCleaner</ProgCCleaner>
[...]
</xml>
[/code:1]
Une fois ton XML créé, tu l'importes
[code:1]$Paths = [xml](Get-Content $xmlfile)[/code:1]
Ensuite, tu n'as plus qu'à construire en fonction de tes besoins.
Exemple:
[code:1]$CCleaner2008Path = \"C:\\" + $xml.OS_2008 + \"\\" + $xml.ProgCCleaner[/code:1]
C'est ce que j'ai compris de ton problème. N'ayant pas plus de code sous les yeux je ne sais pas si tu comptes générer dynamiquement l'ensemble des paths dans ton menu...
Bonne journée.
Je pense que tu tournes le problème dans le mauvais sens. Si je peux me permettre la génération de tes path pourrait être faite avec un fichier xml plutôt qu'un fichier texte.
[code:1]
<xml>
<OS_2008>MonDossier2008</OS_2008>
<ProgCCleaner>DossierCCleaner</ProgCCleaner>
[...]
</xml>
[/code:1]
Une fois ton XML créé, tu l'importes
[code:1]$Paths = [xml](Get-Content $xmlfile)[/code:1]
Ensuite, tu n'as plus qu'à construire en fonction de tes besoins.
Exemple:
[code:1]$CCleaner2008Path = \"C:\\" + $xml.OS_2008 + \"\\" + $xml.ProgCCleaner[/code:1]
C'est ce que j'ai compris de ton problème. N'ayant pas plus de code sous les yeux je ne sais pas si tu comptes générer dynamiquement l'ensemble des paths dans ton menu...
Bonne journée.
Connexion ou Créer un compte pour participer à la conversation.
- Kazer2.0
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 10
- Remerciements reçus 0
il y a 13 ans 1 mois #13791
par Kazer2.0
Réponse de Kazer2.0 sur le sujet Re:Récupération lignes dans .txt pour variables
ça m'a l'air super ton idée avec le fichier xml, je vais faire un test, mais je pense que ça va résoudre mon problème.
En fait, la sélection ce fait par des menus déroulants avec une combinaison du type OS + version du programme
Genre j'ai 5 versions d'un programme (ERP), mettons v1 / 2 / 3 / 4 / 5, et j'ai besoin de faire des tests en situations réel, j'ai donc des vm avec les versions de l'ERP sur différent OS
Genre
- Windows 7
- - v1
- - v2
- - v3
- - v4
- - v5
- Windows 2003
- - v1
- - v2
- - v3
- - v4
- - v5
- Windows 2008
- - v1
- - v2
- - v3
etc, et on peux donc choisir l'os, puis la version de l'ERP, et quand on lance le traitement, on a une VM toute belle avec ce qu'il faut.
Je posterai le script une fois que j'aurai fais les corrections.
Merci bien pour l'astuce !
EDIT : D'ailleurs j'y pense, le mieux serait encore de générer le menu déroulant directement depuis le xml, je fait
[code:1]
<xml>
<OS>
<OS_2003>serveur_2003<OS_2003>
<OS_2008>serveur_2008/</OS_2008>
<OS_2008_R2>serveur_2008_R2</OS_2008_R2>
</OS>
<soft>
<version_1>version_1/</version_1>
<version_2>version_2/</version_2>
</soft>
</xml>
[/code:1]
Comme ça je génère directement depuis le xml les menu déroulants OS et Soft, et je met à jour mon script sur tou les postes depuis un fichier !
EDIT2 : Pour générer le menu, j'ai trouvé (le script n'est bien sur pas complet)
[code:1]
[xml]$listelogiciel = Get-Content \"logiciels.xml\"
foreach( $versionlogiciel in $listelogiciel.logiciel.version)
{
[void]$liste_de_choix_logiciel.Items.Add($versionlogiciel.numero)
}
[/code:1]
Et mon logiciels.xml
[code:1]
<logiciel>
<version>
<numero>version1.1</numero>
</version>
<version>
<numero>version1.2</numero>
</version>
<version>
<numero>version1.3</numero>
</version>
<version>
<numero>version1.4</numero>
</version>
<version>
<numero>version1.5</numero>
</version>
</logiciel>
[/code:1]<br><br>Message édité par: Kazer2.0, à: 29/01/13 14:17
En fait, la sélection ce fait par des menus déroulants avec une combinaison du type OS + version du programme
Genre j'ai 5 versions d'un programme (ERP), mettons v1 / 2 / 3 / 4 / 5, et j'ai besoin de faire des tests en situations réel, j'ai donc des vm avec les versions de l'ERP sur différent OS
Genre
- Windows 7
- - v1
- - v2
- - v3
- - v4
- - v5
- Windows 2003
- - v1
- - v2
- - v3
- - v4
- - v5
- Windows 2008
- - v1
- - v2
- - v3
etc, et on peux donc choisir l'os, puis la version de l'ERP, et quand on lance le traitement, on a une VM toute belle avec ce qu'il faut.
Je posterai le script une fois que j'aurai fais les corrections.
Merci bien pour l'astuce !
EDIT : D'ailleurs j'y pense, le mieux serait encore de générer le menu déroulant directement depuis le xml, je fait
[code:1]
<xml>
<OS>
<OS_2003>serveur_2003<OS_2003>
<OS_2008>serveur_2008/</OS_2008>
<OS_2008_R2>serveur_2008_R2</OS_2008_R2>
</OS>
<soft>
<version_1>version_1/</version_1>
<version_2>version_2/</version_2>
</soft>
</xml>
[/code:1]
Comme ça je génère directement depuis le xml les menu déroulants OS et Soft, et je met à jour mon script sur tou les postes depuis un fichier !
EDIT2 : Pour générer le menu, j'ai trouvé (le script n'est bien sur pas complet)
[code:1]
[xml]$listelogiciel = Get-Content \"logiciels.xml\"
foreach( $versionlogiciel in $listelogiciel.logiciel.version)
{
[void]$liste_de_choix_logiciel.Items.Add($versionlogiciel.numero)
}
[/code:1]
Et mon logiciels.xml
[code:1]
<logiciel>
<version>
<numero>version1.1</numero>
</version>
<version>
<numero>version1.2</numero>
</version>
<version>
<numero>version1.3</numero>
</version>
<version>
<numero>version1.4</numero>
</version>
<version>
<numero>version1.5</numero>
</version>
</logiciel>
[/code:1]<br><br>Message édité par: Kazer2.0, à: 29/01/13 14:17
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.041 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [RESOLU] Récupération lignes dans .txt