Question Lecture de fichier - Regex - table de hash

Plus d'informations
il y a 14 ans 1 mois #11386 par MEURY Nikolaus
Bonjour,

Je débute en PowerShell et je n'ai pas une grosse expérience en programmation, juste des notions en perl et bash pour la réalisation de scripts d'administration réseau mais je n'ai quasiment aucune expérience.

Merci d'avance donc pour votre patience ^^

Voilà je souhaite me mettre au PowerShell que je découvre et qui m'apparaît comme un outil très puissant pour l'administration.

J'essaye actuellement de rédiger un script pour vérifier la présence de dump de bdd sur un nas.

Je m'appuie sur un fichier de configuration pour donner de la flexibilité à mon script, ce fichier permet de passer des paramètres au script comme le chemin de base.

Voilà à quoi ressemble ce fichier même si sa structure n'est pas définitive :

[global]
base=\"D:\data\dump_base\"

daily_directory=\"DQ\"
weekly_directory=\"DH\"
monthly_directory=\"DM\"
biannual=\"DS\"

[backup]
base_folder=\"serveur-sql1\"
base_subfolder=\"\"
base_file=\"sql1_db\"

[backup]
base_folder=\"serveur-sql2\"
base_subfolder=\"Appli2\"
base_file=\"sql2_db\"

ect.. avec n blocs backup pour chaque serveur.

Mon problème est de récupérer les informations pour les stocker dans des variables pour le moment.
J'aimerais faire une table de hash avec par exemple :

$backup=@{'base_folder'='serveursql1'

Je pense qu'il faut utiliser get-content et des regex mais je coince.

Par exemple pour le bloc [global] avec l'arborescence de travail je voudrais une table de hash comme suit :
$working_folder = @ {'table'='d:\data\base_dump'}

J'essaye de procéder comme suit :
$arbo = get-content g:\Scripting\Backup.ini | where
{$_ -match \"^[A-Z]:\\w+\" }

$working_path = @{ 'base'=\"$arbo\"}

Au départ ma regex pour l'arborescence ressemblait à ça :
^[a-A-Z]: (\\w+)+

Pour autoriser des arbo des plusieurs niveau, ni l'une ni l'autre ne fonctionne.

Tout les conseils sont les bienvenus ^^

Merci d'avance<br><br>Message édité par: Nicky, à: 28/03/12 14:05

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 1 mois #11389 par xyz
Nicky écrit:

Tout les conseils sont les bienvenus ^^

Rechercher sur le forum :whistle:
Ta structure étant celle d'un fichier .ini, reste à rechercher le mot clé .ini .

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 1 mois #11390 par MEURY Nikolaus
J'ai déjà fouillé, je suis tombé sur ce post :

powershell-scripting.com/index.php?optio...;id=712&catid=14

J'essaye d'adapter.
Quelle est la syntaxe pour stocker dans une variable le résultat d'une regex sur un fichier ?

Si par exemple j'ai :
$config=get-content config.ini

Si ensuite je veux affecter à une variable le résultat d'une regex ?

Je veux utiliser plusieurs regex :
Une pour les sections type [global] :
^\[(.+)\]$ celle-ci fonctionne mais je voulais à l'origine utiliser ^\[(w+)\]$ mais ça ne matchais pas...

Une pour les arbo type c:\temp
J'utilise ^[a-zA-Z]: (\\w+)+$ et ça ne match pas du tout

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.037 secondes
Propulsé par Kunena