Trong kịch bản PowerShell của tôi, tôi đang chạy Select-String trên một số lượng file, tìm kiếm một chuỗi truyền vào nó thông qua một biến ($ id):Làm thế nào để bỏ qua các chuỗi thoát được lưu trữ trong biến chuỗi PowerShell?
foreach ($file in (ls "path\to\files")) {
$found = $false
$found = Select-String -Path $file $id -Quiet
if ($found) {
break
}
}
Thật không may, id biến $ đôi khi mọi thứ như "\ C" hoặc "\ T", trong đó Select-String cố gắng diễn giải là chuỗi thoát. Đây không phải là các trình tự thoát hợp lệ, vì vậy Select-String ném một lỗi. Chúng không nhằm mục đích thoát khỏi chuỗi (ví dụ: nó có thể là một phần của đường dẫn tệp như "C: \ Test"), vậy làm thế nào tôi có thể ngăn PowerShell/Select-String giải thích chúng như vậy? Tôi đã thử sử dụng dấu ngoặc đơn quanh $ id mà không có may mắn.
Nhờ bất kỳ ai đã xóa nhận xét không hữu ích :-) – alastairs