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 № 1Juste échapper les guillemets doubles en utilisant une barre oblique inverse:
powershell -Command "(gc test.txt ) -replace ("~[","`r`n[") | sc test.txt"