Powershell có vẻ như bỏ các đối số chuỗi rỗng khi được truyền cho một lệnh. Tôi có mã nàyTruyền tham số trống cho các tệp thực thi bằng cách sử dụng powershell
PS D:\> $b.name = "foo bar"
PS D:\> ./echoargs $b.name
Arg 0 is D:\echoargs.exe
Arg 1 is foo bar
PS D:\> $b.name = ""
PS D:\> ./echoargs $b.name
Arg 0 is D:\echoargs.exe
Bạn có thể giả định rằng $ b có một thành viên 'tên'. Làm thế nào tôi có thể vượt qua điều này như một đối số cho exe ngay cả khi giá trị là một chuỗi rỗng. Tôi đã thử sử dụng toán tử cuộc gọi mà không thành công.
Tôi đã thử nghiệm cả hai phương pháp trong PS v5 và phương thức đầu tiên không hoạt động, nhưng cách thứ hai đã làm: './echoargs $ b.name, '" "''. Dấu phẩy giữa các tham số dường như không cần thiết trong trường hợp của tôi. – hjoelr