Cómo ignorar las secuencias de escape almacenadas en la variable de cadena de PowerShell?
En mi script de PowerShell, estoy ejecutando Select-String en varios archivos, buscando una cadena que se le pase a través de una variable ($ id):
foreach ($file in (ls "path\to\files")) {
$found = $false
$found = Select-String -Path $file $id -Quiet
if ($found) {
break
}
}
Desafortunadamente, la variable $ id a veces tiene cosas como "\ C" o "\ T", que Select-String intenta interpretar como secuencias de escape. Estas no son secuencias de escape válidas, por lo que Select-String arroja un error. No están destinados a ser secuencias de escape (por ejemplo, podrían ser parte de una ruta de archivo como "C: \ Test"), entonces, ¿cómo puedo evitar que PowerShell / Select-String las interprete como tales? He intentado usar paréntesis alrededor de $ id sin suerte.