Question (Résolu) Problème d'accent

Plus d'informations
il y a 16 ans 6 mois #5180 par BARTHE
Je me bat pour arriver à régler un problème d'accent dans le script d'Arnaud Petitjean

[code:1]
$ini = @{}
switch -regex -file c:\test.ini
{
\"^\[(.+)\]$\"
{
$section = $matches[1]
$ini[$section] = @{}
}
\"(.+)=(.*)\"
{
$name, $value = $matches[1..2]
$ini[$section][$name] = $value
}
}
$ini

[/code:1]

Voici le fichier c:\test.ini

[code:1]
[test]
données=essai
[/code:1]

et voici le résultat ...

[code:1]

test {donn?es}
[/code:1]

Merci d'avance pour votre aide !

Message édité par: cyril.barthe, à: 25/08/09 14:36<br><br>Message édité par: cyril.barthe, à: 26/08/09 21:25

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

Plus d'informations
il y a 16 ans 6 mois #5183 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Problème d'accent
J'ai le même pb avec PS V1.
Essaie avec ceci :
[code:1]
switch -regex (${c:\test.ini})
[/code:1]
ça m'a l'air d'être un bug, faudrait vérifier si c'est identique sous la V2...

Tutoriels PowerShell

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

Plus d'informations
il y a 16 ans 6 mois #5186 par BARTHE
Réponse de BARTHE sur le sujet Re:Problème d'accent
Énorme, ça fonctionne merci, j'aurais vraiment pas pu trouver.
Je ne comprend pas le rôle que joue (${ })

Par contre comment je peut insérer une variable à la place de c:\test.ini ?

[code:1]
$path=c:\test.ini
$ini = @{}
switch -regex (${$path})

{
\&quot;^\[(.+)\]$\&quot;
{
$section = $matches[1]
$ini[$section] = @{}
}
\&quot;(.+)=(.*)\&quot;
{
$name, $value = $matches[1..2]
$ini[$section][$name] = $value
}
}

$ini
$value

[/code:1]

le script ouvre le fichier ini :lol:
Merci encore pour tes lumières.

ps : Problème identique sous seven RC avec pwshell v2

Message édité par: cyril.barthe, à: 25/08/09 15:53<br><br>Message édité par: cyril.barthe, à: 25/08/09 16:05

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

Plus d'informations
il y a 16 ans 6 mois #5189 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Problème d'accent
cyril.barthe écrit:

Je ne comprend pas le rôle que joue (${ })

Si je me souviens bien c'est un accés au provider, une sorte de raccourcis, je sais qu'il existe, mais je ne l'utilise que rarement.
cyril.barthe écrit:

Merci encore pour tes lumières.

Disons que j'ai pris le temps de tester.
Pour les lumières, ceux sont celles de Bruce Payette.
Comme quoi la doc livrée avec le produit est conséquente mais insuffisante :whistle:
cyril.barthe écrit:

ps : Problème identique sous seven RC avec pwshell v2

Merci pour l'info :)
As-tu créé un post sur MS-Connect ?
Si non je peux le faire prochainement.

Tutoriels PowerShell

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

Plus d'informations
il y a 16 ans 6 mois #5190 par BARTHE
Réponse de BARTHE sur le sujet Re:Problème d'accent
Non j'avoue que je me suis pas inscrit sur connect ...
Mais c'est vrais que je tombe souvent sur des bugs ...

En parlant de ça, j'ai encore mon problème de variable au sein de
[code:1]switch -regex (${$path})[/code:1]

si je fait ça cela m'ouvre mon test.ini dans le bloc note :(

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

Plus d'informations
il y a 16 ans 6 mois #5191 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Problème d'accent
cyril.barthe écrit:

En parlant de ça, j'ai encore mon problème de variable au sein de
[code:1]switch -regex (${$path})[/code:1]

La syntaxe proposée indique au shell de \&quot;passer\&quot; par le drive C:, un PSDrive cela fonctionne avec d'autre drive d'autre provider ( ex : registry).
Du coup je ne pense pas que cela soit possible, je suppose que l'analyseur de la ligne de commande reconnait ce token si on respecte la synaxe ${psdrive:item}.
Sous PS l'accolade indique du code ou une hastable
[code:1]
$sb={code}
#exécute le scriptblock
&amp;{}
#exécute le scriptblock
.{}
function test {}
[/code:1]
Et le dollar indique un groupe d'instruction
[code:1]$(dir;cls)[/code:1]
Ou une variable
[code:1]$Test=\&quot;A\&quot;[/code:1]
Mais la suite ${ me laisse penser que c'est un token, faudrait vérifier ce point avec la v2 qui permet la vision d'un code comme des tokens et pas une ligne de texte.
Qq infos dans ce doc , \&quot;Files, Variable Notation and the Current Drive Location\&quot;.
Tu peux consulter la grammaire , le chapitre C.2.3 . (Je n'ai pas trouvé de référence à cette syntaxe :unsure: )
Le paramètre -File peut utiliser un pipeline, essaie ainsi.

Sinon reste la génération dynamique si tu en as vraiment besoin :whistle:

Tutoriels PowerShell

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

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