Tôi đang cố gắng chạy tác vụ khởi động cmd-script trên Vai trò Windows Azure.Lỗi khi chạy Lệnh PowerShell trên Azure WorkerRole
Đây là hai dòng kịch bản tập lệnh:
powershell $command = "set-executionpolicy Unrestricted"
powershell $command = ".\setupAgent.ps1" -NonInteractive >; out.txt
Bây giờ vấn đề là, tôi nhận được một thông báo lỗi từ vỏ lệnh, nói rằng:
D:\Users\UserAccount>powershell $command = "set-executionpolicy Unrestricted"
'powershell' is not recognized as an internal or external command,
operable program or batch file.
Dường như có được sử dụng một số loại codepages khác nhau hoặc một cái gì đó linke rằng, bởi vì những ký tự đặc biệt không có trong tập tin cmd của tôi. Tệp cmd được tạo trên Windows 8 qua VS 2012 Ultimate.
Bạn có ý tưởng không, làm cách nào tôi có thể loại bỏ các ký tự đặc biệt ở đầu lệnh? Nếu tôi sao chép lệnh từ tập tin cmd sang bàn điều khiển thông qua máy tính từ xa, nó hoạt động tốt!
Cảm ơn, đó là giải pháp! – sebastian87
+1. Bạn có thể giải thích tại sao mã hóa này là cần thiết không? –
Visual Studio theo mặc định lưu tệp trong UTF-8 bằng BOM (Dấu byte đơn hàng - Các byte đầu tiên của tệp). Hệ điều hành, bao gồm cả Windows không nhận ra điều này khi thực thi các tệp 'script'. Điều này gây ra bất kỳ tập tin kịch bản, được lưu trong UTF-8 với BOM để thất bại. Quy tắc chung là các tệp kịch bản (tệp DOS Batch, tệp PS, kịch bản BASCH, Peral, PHP, v.v.) sẽ được hệ điều hành thực thi, để có Mã hóa ASCII gốc. – astaykov