Tôi đang tạo tập lệnh Powershell để triển khai một số mã và một phần của quy trình là gọi một công cụ nén dòng lệnh gọi là RAR.EXE để sao lưu một số thư mục.Xử lý lệnh Powershell (Chuyển các biến)
Tôi đang cố gắng tự động xây dựng các tham số và sau đó có PowerShell gọi lệnh bằng các biến nhưng tôi đang gặp sự cố. Nó không hoạt động ...
Chạy tập lệnh sau và bạn sẽ thấy những gì tôi đang nói đến. Các thông số được truyền vào dưới dạng biến sẽ bị xáo trộn. Nếu tôi vượt qua toàn bộ lệnh + tham số trong tôi nhận được các "khét tiếng" không được công nhận là một cmdlet ... "tin nhắn.
Cảm ơn bạn đã trợ giúp!
echo "this should succeed"
& cmd /c echo foo
echo "why does this echo out an additional double quote?"
$param = "/c echo foo"
& cmd "$param"
echo "this does the same"
$param = "/c echo foo"
& cmd $param
echo "escaping the slash doesn't work either..."
$param = "`/c echo foo"
& cmd $param
echo "this fails, but why?"
$cmd = "cmd /c echo foo"
&$cmd
Mảng cũng hoạt động tốt để xây dựng các đối số dòng lệnh; ví dụ: $ cmdArgs = @ ('/ c', 'echo foo'); cmd $ cmdArgs –