Tôi khá mới đối với Powershell ... và tôi đã tự hỏi làm cách nào tôi thoát đúng dấu ngoặc kép trong giá trị -param.Báo giá thoát và dấu ngoặc kép
$cmd="\\server\toto.exe -batch=B -param="sort1;parmtxt='Security ID=1234'""
Invoke-Expression $cmd
Điều này tất nhiên không thành công, tôi đã cố gắng thoát khỏi dấu ngoặc đơn (đơn và kép) bằng cách sử dụng ký tự thoát và kết hợp khác nhau nhưng không có gì hoạt động. Hãy giúp
Cảm ơn bạn đã trả lời. bắt đầu-quá trình không có vấn đề làm thế nào tôi đã cố gắng luôn luôn phàn nàn. Vì vậy, tôi đã làm cmd/C $ cmd (trong đó $ cmd là toàn bộ lệnh của tôi bao gồm cả .exe.). Tôi đang sử dụng PowerShell 2.0. Ngay cả chuỗi ở đây cũng không hoạt động nếu tôi nhớ chính xác. – eetawil
Điều này có vẻ phức tạp không cần thiết so với sử dụng backtick (') để thoát khỏi dấu nháy kép. – saille
Điều này hoạt động tuyệt vời miễn là bạn tuân theo các quy tắc mà nó mong đợi. Đầu tiên @ 'phải nằm trên "dòng 1", thông số của bạn phải nằm trên "dòng 2" và kết thúc' @ phải trên "dòng 3". Kết thúc '@ không thể có dấu cách trước đó. Man cú pháp này là cầu kỳ! –