相关疑难解决方法(0)

如何忽略存储在PowerShell字符串变量中的转义序列?

在我的PowerShell脚本中,我在许多文件上运行Select-String,查找通过变量($ id)传递给它的字符串:

foreach ($file in (ls "path\to\files")) {
    $found = $false
    $found = Select-String -Path $file $id -Quiet
    if ($found) {
        break
    }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,$ id变量有时会像"\ C"或"\ T"这样,Select-String会尝试将其解释为转义序列.这些不是有效的转义序列,因此Select-String会引发错误.它们不是转义序列(例如,它可能是文件路径的一部分,例如"C:\ Test"),那么如何防止PowerShell/Select-String将它们解释为?我试过在$ id周围使用括号而没有运气.

regex powershell escaping

20
推荐指数
1
解决办法
2万
查看次数

标签 统计

escaping ×1

powershell ×1

regex ×1