Tôi đang thử một cái gì đó thực sự đơn giản ở đây, nhưng không thể tìm ra nơi tôi đang đi sai. Tôi đã tìm thấy nhiều cuộc thảo luận hữu ích khác về điều này - particularly here - nhưng không tìm thấy bất kỳ điều gì bao gồm trường hợp cụ thể của tôi.PowerShell - chuyển các đường dẫn được tính toán với dấu cách
Trong PowerShell, tôi đã gõ như sau:
$path = "c:\program files\"
$path2 = "c:\program files\fred2\"
echoargs $path $path2
echoargs "$path" "$path2"
Trong cả hai cuộc gọi đến echoargs, tôi nhận được
Arg 0 is <c:\program files" c:\program>
Arg 1 is <files\fred2">
trở lại như kết quả. Làm thế nào tôi có thể nhận được các thông số được thông qua một cách chính xác?
NB: Trong kịch bản thực sự của tôi các biến đường dẫn được xây dựng từ một vài tham số cấu hình, vì vậy tôi không thể truyền trực tiếp chúng trong các dấu nháy đơn.
Xin bao gồm nhiều mã thực tế của bạn. Khi tôi thử mẫu của bạn, tôi có các tệp 'c: \ program \ 'và' c: \ program files \ fred2 \ 'cho cả hai. –
@AndyArismendi rất lạ. Tôi chỉ cần sao chép + dán trực tiếp từ câu hỏi này trở lại vào ISE powershell và đã chính xác như tôi mô tả? bạn đang sử dụng phiên bản nào của PowerShell? Tôi đang sử dụng 2,0 Tôi tin rằng –
Tôi chỉ định nghĩa một hàm để kiểm tra: 'hàm echoargs {$ args [0]; $ args [1]} '. –