Update: Wow, das ist jetzt leider veraltet (obwohl das unvermeidlich ist). Powershell wird mehr und mehr die Sprache der Wahl für die Automatisierung in Windows. Es hat viele Vorteile einer beliebigen .net-Sprache (wie C#), kombiniert mit einem Großteil der Zweckdienlichkeit, die in jeder guten Shell-Sprache existiert, ohne die schwerwiegenden Nachteile von Batch-Dateien.
Für was es wert ist, die beliebtestenen Optionen, die ich in einer bestimmten großen, Redmond Softwarefirma (in grober Reihenfolge der Beliebtheit) gesehen habe:
- Batch-Dateien
- Perl
- Windows- Scripting Host (Javascript)
- Tiny Ex
Viel weniger beliebt:
Beachten Sie, dass Perl nicht eine Installation erforderlich ist, es erfordert nur wenige Umgebungsvariablen-Updates, so ist es einfach nur eine vollständige Distribution in Ihrem Source-Control-System schieben zusammen mit anderen Werkzeugen.
Meine persönliche Vorliebe wäre es, Batch-Dateien so viel wie möglich zu vermeiden, selbst mit den sorgfältigsten und rigorosesten Prozessen ist der Nutzen für die Kosten es einfach nicht wert. Sie werden nie mit einer zufriedenstellenden Lösung enden, wenn Sie Batch verwenden. Perl und Javascript sind verlockend zu benutzen, aber es gibt einige grundsätzliche Mängel, die sehr zu wünschen übrig lassen. Ohne starke Entwicklungsrichtlinien werden diese Methoden eher zu schlechtem Code führen.
Python und Powershell sind gute Kandidaten, aber ich bin nicht ausreichend mit ihnen vertraut und, noch wichtiger, eine Menge Leute sind nicht so vertraut mit ihnen. Vielleicht ist das keine gute Ausrede.Tiny Exes können ebenfalls viele Probleme haben und erfordern Disziplin und Prozess, um sicherzustellen, dass die Quelle immer eingecheckt wird, dass die Exes bestimmten UI-Normen entsprechen (zB haben sie nützliche Hilfe, wenn Sie -? Oder /?), Dass Sie haben einen offensichtlichen Besitzer, der Prozess für die Aktualisierung der EXE ist erkennbar, etc.
Das primäre Problem mit PowerShell (zumindest für mich) ist, dass es derzeit in den meisten Windows-Versionen (einschließlich XP und Vista) nicht standardmäßig installiert ist. Es wird jedoch standardmäßig in Windows Server 2008 und Windows 7 enthalten sein: http://tinyurl.com/5jhh2f –
Ja, PowerShell ist nicht standardmäßig auf Windows-Versionen außer Win7 installiert. Das ist eigentlich PowerShell v2. –