Bahasa skrip apa yang berguna untuk otomatisasi Windows?
Bahasa skrip apa yang berguna untuk otomatisasi Windows?
Jawaban:
Pada Windows 7 dan Server 2008 masuk akal untuk mempertimbangkan PowerShell karena disertakan bersama Windows, dan juga penting untuk mengelola perangkat lunak server seperti Lync dan Exchange karena ada seluruh rangkaian perintah yang tersedia untuk mereka. Ada semakin banyak daftar fitur yang tersedia, lihat Pusat Skrip untuk detailnya.
Windows Script Host (WSH) secara teknis adalah host skrip untuk ActiveX Scripting Engine. VBScript dan JScript (implementasi Microsoft JavaScript) adalah dua mesin yang diinstal secara default. Banyak lainnya tersedia sebagai sumber terbuka, termasuk Perl, PHP dan Ruby.
Menggunakan sintaksis yang mirip dengan VB6 dan VB.NET, VBScripts tidak memiliki akses yang mudah ke kelas .NET (Powershell ditulis pada .NET sehingga memiliki akses ke semua fungsi .NET). VBScript sebagian besar memanfaatkan layanan WMI dan objek yang diekspos.
Contoh: Ini menciptakan titik Pulihkan.
Set wmi, whatName, errResults
wmi = GetObject("winmgmts:\\.\root\default:Systemrestore")
whatName = InputBox("Enter a name for the Restore Point",WScript.ScriptName)
errResults = wmi.CreateRestorePoint (whatName, 12, 100)
If errResults <> 0 then
Wscript.Echo "Error " & errResults & " : Unable to create Restore Point"
End If
Anda juga dapat menulis skrip yang sama menggunakan ECMAScript:
var wmi = WScript.GetObject("winmgmts:\\.\root\default:Systemrestore");
var whatName = WSHInputBox("Enter a name for the Restore Point",Script.ScriptName);
var errResults = wmi.CreateRestorePoint(whatName, 12, 100);
if(errResults != 0) {
WScript.Echo("Error "+ err + " : Unable to create Restore Point");
}
Tentu saja ada File Batch yang bagus. Mereka tidak perlu intro.
Saya masih menulis file batch DOS, bahkan di Windows 7. Untuk sebagian besar tugas, ini masih bekerja dengan cukup baik, dan sangat mudah untuk bekerja dengannya (juga, banyak perintah DOS seperti "UNTUK" telah ditingkatkan dari waktu ke waktu dan memberikan lebih banyak opsi dan fungsionalitas yang tidak tersedia lebih dari satu dekade yang lalu).
Bagi saya, file batch DOS masih menjadi bahasa scripting utama untuk Windows (tentu tradisional), tetapi setiap orang memiliki kebutuhan dan preferensi yang berbeda. Ada banyak hal yang tidak dapat dilakukan oleh file batch DOS (bahasa scripting dapat menimbulkan batasan juga), dan untuk kesempatan langka ketika saya menjumpai ini, saya kemudian melihat apa pilihan saya yang lain (seringkali itu Perl, atau kadang-kadang bisa adalah dengan menulis program kecil atau seluruh aplikasi).
Memahami apa yang perlu Anda capai adalah langkah yang sangat penting dalam memutuskan alat mana yang akan digunakan. Keakraban dengan alat adalah aspek penting lain yang dapat membatasi pilihan Anda. Jika Anda mencoba memutuskan bahasa scripting [atau pemrograman] mana yang ingin dipelajari, semoga ini akan membantu Anda.
cmd
benar-benar adalah keburukan, mudah bahasa scripting shell TERBURUK yang pernah saya miliki kemalangan untuk digunakan.
Itu tergantung pada siapa Anda bertanya. Beberapa tidak akan pernah meninggalkan batch, beberapa cinta vbscript beberapa cinta powershell, yang lain seperti AutoIt. Lalu ada platform yang independen seperti Python dan Perl yang beberapa akan bersumpah untuk semuanya.
Saya kira "bahasa" scripting resmi untuk Windows adalah (dan telah sejak Win95) Host Script Windows .
Secara teknis, WSH bukan bahasa untuk dirinya sendiri, melainkan lingkungan (bukan GUI) yang mengekspos antarmuka COM untuk memungkinkan Anda menggunakan (hampir) bahasa skrip apa pun yang Anda inginkan, untuk melakukan hal-hal OS, bahkan hal-hal yang tidak memiliki cara bawaan dibangun ke dalam bahasa (misalnya, Ruby tidak memiliki cara bawaan untuk masuk ke Windows atau TCL / TK tidak memiliki cara bawaan untuk menampilkan dialog Run).
Anda mungkin telah melihat beberapa file WSF yang dapat menyertakan banyak bahasa dalam satu file, tetapi biasanya skrip WSH ditulis dalam satu bahasa dan didistribusikan dengan ekstensi yang sesuai dengan versi skrip bahasa itu (misalnya VBS untuk skrip VisualBasic, PYS untuk PythonScript, dll. .)
Saya akan mengatakan AutoIt, ia memberikan pengembangan yang sangat cepat dan mudah pada windows dan sangat erat dengan itu. Ini berarti bahwa tugas-tugas yang biasanya mengambil kode agak banyak dalam bahasa lain dapat dilakukan secara harfiah satu baris di autoit. Fitur seperti kompilasi langsung ke exe juga sangat berguna.
Bahasa lain yang ditunjukkan dalam pertanyaan ini (VbScript, PowerShell, Batch) sangat populer dan didukung. Jika Anda sudah tahu bahasa scripting dan merasa nyaman dengan - dengan cara apa pun pergi dengan itu.
Jika Anda akan berinvestasi dalam mengambil bahasa baru, saya sarankan dua bahasa untuk Anda, tergantung pada pekerjaan yang Anda coba lakukan:
JavaScript (via WSH) - gunakan JavaScript jika Anda ingin menggunakan berbagai Objek Otomatisasi dengan membuat instance, dan memanggil ke dalam Model Objek mereka. Anda dapat membuat Objek Otomasi untuk hampir semua, mulai dari Exchange server hingga WMI hingga dokumen Office. Ada dukungan debug dengan Visual Studio (dengan argumen / x). Juga, investasi dalam JavaScript akan terbukti bermanfaat dalam HTML.
Perl - gunakan Perl jika Anda dapat meluncurkan program lain, memanipulasi outputnya, melakukan ekspresi reguler. Meskipun tampaknya bahasa ini sedang dalam penurunan, masih sangat populer, sangat didukung dengan bahasa komunitas yang besar. Anda juga harus mempertimbangkan bahasa ini untuk berkomunikasi dengan layanan lain (tidak harus Windows), seperti JIRA di perusahaan, atau EC2 di Amazon. Debugging didukung dalam gerhana dengan EPIC, yang juga merupakan lingkungan IDE yang baik (pewarnaan sintaksis, dll.). Ada modul di CPAN untuk semuanya. Pengetahuan Perl akan terbukti bermanfaat ketika harus melakukan otomatisasi pada mesin non Windows.
Pada hari-hari awal, ada VBScript diikuti oleh Batch, di lingkungan perusahaan dengan Windows 7 dan Server 2008 R2 murni bahasa scripting baru Powershell meningkatkan banyak perhatian.
Saya merekomendasikan rekomendasi untuk Perl, jika Anda ingin menulis beberapa skrip Perl. Orang yang bekerja dengan saya telah berhasil menggunakan dan merekomendasikan CLR Script (agak lama), dan untuk scripting interaksi web, iMacros
Bisa jadi hampir apa saja, tergantung apa yang Anda coba otomatisasi. Ini akan bervariasi dari file batch dan PowerShell ke autohotkey dan Selenium (jika Anda perlu mengotomatisasi beberapa tugas terkait GUI).
Biasanya bukan masalah untuk mempelajarinya, jika Anda perlu menambahkan beberapa modifikasi atau dukungan skrip yang sudah ditulis. Jika Anda perlu mengembangkan sesuatu yang baru - pilih bahasa / cara berdasarkan persyaratan, dan apa yang sudah Anda ketahui.