Bir Windows Azure Rolünde bir başlangıç görevi cmd komut dosyasını çalıştırmaya çalışıyorum.PowerShell Komutlarını Çalıştırma Hatası Azure WorkerRole
powershell $command = "set-executionpolicy Unrestricted"
powershell $command = ".\setupAgent.ps1" -NonInteractive >; out.txt
Şimdi, komut kabuğundan bir hata mesajı alıyorum olduğunu sorun, der ki::
Bu komut dosyası yazısının iki hatlarıdır
Öyle görünüyorD:\Users\UserAccount>∩╗┐powershell $command = "set-executionpolicy Unrestricted"
'powershell' is not recognized as an internal or external command,
operable program or batch file.
Bu tür özel chars'ler benim cmd dosyamda olmadığı için, bir çeşit farklı kod sayfası veya bir şey linke kullanılır. Cmd dosyası, VS 2012 Ultimate aracılığıyla Windows 8'de oluşturuldu.
Komutun başında özel karakterleri nasıl reddedebilirim? Komutu cmd dosyasından uzak masaüstüyle konsola kopyalarsam iyi çalışır!
Teşekkürler, çözüm bu! – sebastian87
+1. Bu kodlamanın neden gerekli olduğunu açıklayabilir misiniz? –
Visual Studio varsayılan olarak dosyaları BOM ile UTF-8'e kaydedin (Bayt Sırası İşareti - Dosyanın ilk baytı). Windows dahil OS'ler, 'script' dosyalarını çalıştırırken bunu tanımıyor. Bu, başarısız olması için BOM ile UTF-8'de kaydedilen herhangi bir komut dosyasına neden olur. Genel Genel Kural, OS tarafından çalıştırılacak komut dosyaları (DOS Batch dosyaları, PS dosyaları, BASCH komut dosyaları, Peral, PHP, vb.), Yerel ASCII Kodlama sahip olmaktır. – astaykov