Malgré la lecture de la documentation sur les guillemets simples et doubles en utilisant "about_quoting_rules", je n'arrive pas à obtenir le résultat que je recherche.
Une petite histoire:
J'ai un excellent doc et j'utilise PowerShell pour créer un foreach sur chaque entrée. Ceci, à son tour, est utilisé pour générer une commande robocopy pour lancer une tâche de synchronisation.
La partie de mon script qui est pertinente à ce sujet est ci-dessous:
$RoboArgs = `""I:\" + $FileSource`"" + " " + "Z:\" + $FileDestination + " " + $StandardSwitches + " " + $log
3 Réponses :
Essayez de délimiter votre chaîne avec des guillemets simples. Toutes les doubles qoutes à l'intérieur seront conservées dans la chaîne résultante.
Exemple:
$stringWithQuotes = "'" + (pwd) + "'"
Et vous pouvez également le faire dans l'autre sens si vous voulez des guillemets simples dans votre chaîne :
$stringWithQuotes = '"' + (pwd) + '"'
Je suggère d'utiliser PowerShell opérateur de formatage de chaîne , -f
:
$RoboArgs = '"I:\{0}" "Z:\{1}" {2} {3} {4}' -f $FileSource, $FileDestination, $StandardSwitches, $log
L'utilisation de '...'
(guillemets simples) comme délimiteurs vous permet d'incorporer des instances "
telles quelles.
{0}
est un espace réservé pour le 1er opérande RHS, {1}
pour le 2ème, et ainsi de suite.
Dans Powershell `
suivi de guillemets fonctionne, comme '\'
dans d'autres langues:
Par exemple:
"toto"