/ Commande / powershell dans un fichier de commandes nécessitant des guillemets doubles dans la commande - powershell, batch-file

Commande powershell dans un fichier de commandes où des guillemets doubles sont requis à l'intérieur de la commande - powershell, batch-file

J'essaie d'appeler une commande PowerShell dans un fichier de commandes:

powershell -Command "(gc test.txt ) -replace ("~[","`r`n[") | sc test.txt"

Mais il échoue toujours avec cette erreur

At line:1 char:29
+ (gc test.txt ) -replace (~[,`r`n[) | sc test.txt
+                             ~
Missing argument in parameter list.
+ CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordEx
ception
+ FullyQualifiedErrorId : MissingArgument

J'essaie avec guillemet simple pour les chaînes de remplacement

powershell -Command "(gc test.txt ) -replace ("~[","`r`n[") | sc test.txt"

Mais le caractère d'échappement backtick est traité comme tout autre caractère du texte lorsqu'il apparaît dans une chaîne entre guillemets simples.

Réponses:

1 pour la réponse № 1

Juste échapper les guillemets doubles en utilisant une barre oblique inverse:

powershell -Command "(gc test.txt ) -replace ("~[","`r`n[") | sc test.txt"