Escape-Zeichen beim Generieren von Powershell-Skripten mit C #

Ich benutze VS2010, C #, .NET 3.5 zum Generieren von Powershell-Skripten (ps1-Dateien).

In diesem Fall sind für Powershell Escape-Zeichen erforderlich.

Irgendwelche Vorschläge dazu, um eine gute Methode zu entwickeln, die den Charakteren entgeht?

  public static partial class StringExtensions
    {
        /*
        PowerShell Special Escape Sequences

        Escape Sequence         Special Character
        `n                      New line
        `r                      Carriage Return
        `t                      Tab
        `a                      Alert
        `b                      Backspace
        `"                      Double Quote
        `'                      Single Quote
        ``                      Back Quote
        `0                      Null
        */

        public static string FormatStringValueForPS(this string value)
        {
            if (value == null) return value;
            return value.Replace("\"", "`\"").Replace("'", "`'");
        }
    }

Verwendungszweck:

var valueForPs1 = FormatStringValueForPS("My text with \"double quotes\". More Text");
var psString = "$value = \"" + valueForPs1  + "\";";

Antworten auf die Frage(1)

Ihre Antwort auf die Frage