J'essaye d'implémenter le macro-remplacement basé sur this discussion. Fondamentalement, cela fonctionne, mais semble le ExpandString ont quelques limitatoins:
main.ps1:
$foo = 'foo'
$text = [IO.File]::ReadAllText('in.config')
$ExecutionContext.InvokeCommand.ExpandString($text) | out-file 'out.config'
in.config (OK):
$foo
in.config (erreur: « fin Rencontrés de la ligne lors du traitement d'un jeton de chaîne "):
"
in.config (erreur: " manquant "en fin de chaîne").:
'
Les états de documentation:
Return Value: The expanded string with all the variable and expression substitutions done.
Quelle est la 'substitution d'expression' (peut-être ceci est mon cas)?
Y a-t-il une solution de contournement?
C'était en fait juste un bug dans la PS2 qui est maintenant corrigé: - / – Jaykul