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 + "\";";