59 votes

L'enregistrement d'un fichier XML dans powershell nécessite un chemin complet. Pourquoi?

J'utilise les capacités XML de powershell pour modifier un fichier .config. L'appel de XMLDocument.Save n'a aucun effet, à moins que je fournisse le nom de chemin complet.

 # Open the xml file
$config = [xml](get-content web.config)
#
# modify the XML
$config.SelectNodes("./configuration/connectionStrings/add[@name='LocalSqlServer']") | % { $connNode = $_ }
$connNode.connectionString = $connNode.connectionString -replace '^(.*)Server=[^;]+(.*)$', '$1Server=192.168.5.2$2'
#
#
# Now I save it again
#
# This doesn't save it!
$config.Save("web.config");
# However, this works
$config.Save("{0}\\web.config" -f (get-location));

Pourquoi $config.Save("web.config") ne fonctionne-t-il pas ?

Ai-je fini par l'enregistrer ailleurs que dans mon répertoire local ?

26voto

mjolinor Points 23012

S'il n'allait pas dans le répertoire de travail actuel, je vérifierais $home.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X