Nehmen wir an, es gäbe mehrere Projekte, die meist von intelligenten Praktikanten durchgeführt werden, die nach einiger Zeit wieder gehen. Skripte werden hier und da in Schlüsselteilen verwendet, um beispielsweise eine Datenbank zu sichern, sie umzubenennen, sie zu komprimieren, sie über ssh zu verschieben, sie zu entzippen und sie dann mit anderen Einstellungen wiederherzustellen. Sie wissen, das Skript-Zeug.
Die Programmiersprachen für die Anwendungsseite sind eingestellt, aber die für Skripte wurden gelockert. Derzeit gibt es wahrscheinlich eine gesunde Mischung aus bash und .bat Datei und vielleicht etwas Perl.
1) Um Sprachvermehrung zu vermeiden, und 2) weil ich keine Bash auf zukünftige Windows-Programmierer zwingen will, möchte ich eine "offizielle" Skriptsprache festlegen.
Google hat Python dafür ausgewählt, und es ist berühmt dafür, lesbar zu sein, leicht zu lernen und eine gute Bibliothek zu haben; Allerdings finde ich es im Vergleich zu C-ähnlicher Grammatik, Pascal oder Ruby nicht so gut lesbar.
In jedem Fall, wenn Sie gezwungen wären, nur eine Skriptsprache auf einer Windows-Maschine (mit Cygwin, wenn Sie wollen) für alle Skripte zu verwenden, was möchten Sie, und warum?
Religiöse Kriege:
Wenn ich plattformübergreifende Produkt-Installer geschrieben habe, ist das Codieren eines UNIX-Shell-Skripts für Linux / Mac / Solaris usw. wirklich einfach, aber wenn man äquivalente Aufgaben in BAT erledigt, ist das Arbeiten im Dunkeln, unter Wasser, mit beiden Hände hinter dem Rücken gefesselt. Ich kann nicht stark genug sagen, dass BAT-Skripte eine Schande für die Menschheit sind.
Also, was ich über PowerShell gehört habe macht mich glücklich. Es ist ein Lebensretter für Windows-Entwickler. Das einzige Problem ist, dass ich glaube, es ist immer noch eine separate Installation, es ist nicht standardmäßig verfügbar (ich habe gelesen, dass es auf Windows Server 2008 und Windows 7 sein wird).
Naja, es hat nur 20 Jahre gedauert, bis BAT-Skripte durch etwas ersetzt wurden, das so leistungsfähig ist wie die UNIX-Shell, also sollte ich nicht zu undankbar sein! & gt;: - P
Holen Sie sich das Installationsprogramm für PowerShell hier:
Ich würde Sie dringend bitten, Python eine Chance zu geben. Es sieht zunächst etwas komisch für "C" -Programmierer aus, ist aber leicht zu erlernen und vor allem einfach zu merken. Sie werden Praktikanten auf verschiedenen Fähigkeitsstufen haben, die den Code verwenden und modifizieren, so dass Sie etwas wollen, das von einer breiten Benutzerbasis stammen kann. Und wenn Sie sich die Mühe machen, etwas Neues zu installieren, warum wählen Sie Powershell, die eine Sackgasse für jeden sein wird, der es verwendet.
Die beste Scripting-Sprache, die ich für Schnittstellen- und Steuerelementanwendungen in Windows gefunden habe, ist AutoHotKey. Jeder, der mit Windows arbeitet, sollte sich mit dieser Sprache vertraut machen ... Es kann Ihnen enorm viel Zeit sparen, wenn Sie nur verzögerte Windows-Aufgaben automatisieren ...
Eines der nützlichsten Tools, die ich für Windows gefunden habe, ist Texter
>Dieses Dienstprogramm ist in AutoHotKey geschrieben und erspart mir mehr als ein paar Mal mehr ... Ein unentbehrliches Werkzeug für einen Programmierer oder irgendjemanden, der Formulare oder Tickets ausfüllt ...!
Für Ihre spezielle Beschreibung klingt PowerShell wie ein guter Weg zu gehen ... aber ich würde stark für JScript unter WSH (oder JavaScript unter Rhino / etc.) Klingt so, als ob du CYGWIN magst, aber Powershell hat momentan keine Unterstützung für andere Plattformen (zu viel natives Zeug denke ich - das ist eine separate Diskussion IMO, aber Google sollte darauf antworten).
Ich mache es so: Ссылка
Einige Highlights:
JScript hat keinen direkten Zugriff auf das .NET-Framework - obwohl es in reinem .NET einige Drittanbieter-JavaScript-Engines gibt, die es interpretieren und Objekte wie Jurassic und IronJS damit teilen können. Auch Wrapper wie JavaScriptDotNet (um Chrome / V8). Powershell ist wahrscheinlich schneller als JScript unter WSH, aber das gleiche gilt nicht für andere Interpreter von Drittanbietern.
Bitte gehen Sie nicht mit VBScript (fehlt versuchen / fangen, keine echte OOP, proprietär, veraltet, etc.).
Wenn Sie wie ich sind und im Verlauf Ihres Skripts raffinierte Fortschrittsbalken oder Begrüßungsbildschirme anzeigen möchten, verwenden Sie AutoHotkey (anstelle eines schwarz / grauen Eingabeaufforderungsfensters). Das Anzeigen eines Fortschrittsbalkens ist ein PITA mit JScript / VBScript (WSH) und / oder PowerShell von dem, was ich gefunden habe. In AHK ist es so einfach wie:
%Vor%Sie können auch mit fast jedem Steuerelement in jedem Fenster interagieren und Apps automatisieren, die nicht automatisiert werden sollen.
Tags und Links windows shell scripting deployment