我不太确定在StackOverflow中这样做是否会更好,如果您认为它更合适,可以随意移动它。
无论如何,在这个问题上…
情况
我们目前有一个VBScript,DOSbatch file和一些PowerShell脚本的混杂,执行业务中的各种任务。
这些任务的范围从查明谁是通过IPlogin到特定的机器,到相当复杂的文本处理和数据库查询(SQL Server 2005/2008)
VbScript实际上不是一个很好的语言,虽然它有很好的debugging支持,但PowerShell更好,但是(免费)debugging支持相当简单,batch file越less越好
问题
不想开始一场火焰战争(只有客观的评论请!)我想标准化一个脚本语言,要求是: –
我会对你的想法/推荐很感兴趣
PowerShell 2 ,毫无疑问。 我认为它能够满足您的所有需求,其集成脚本环境不会突出语法,并具有良好的debugging支持,包括断点和逐步执行。
除非你正在寻找wmi和dotnet的细节,我发现Python是所有平台的优秀脚本工具。 它涵盖了几乎所有的要求
否则,我想是PowerShell的路要走,虽然它需要安装dotnet框架。
我不喜欢ISE,但是我被Visual Studio IDE用于其他开发。 有些人喜欢免费的PowerGUI更换: http : //www.powergui.org 。 它似乎具有类似于Intellisense的function。
我能想到的PowerShell唯一的反对意见就是它需要框架,并且需要3.5框架来提供一些V2高级function。 如果您需要将其部署到数百或数千台机器,则不完全是轻量级组件。
作为答案中的一个重要因素,我会问哪种脚本语言最容易部署到您的环境中。 考虑以下脚本语言和全Windows基础结构:
所以,除非我想要将后面的脚本引擎之一部署到我的所有系统,否则我将在VBscript和/或CMD上进行标准化。 其中,vbscript要强大得多 ,虽然作为一个老的批处理脚本,我仍然有一个CMD的弱点。 当它可以完成这项工作时,通常需要更less的打字! 但是,如果我不得不select,那么为了可读性和灵活性,将会是vbscript。 诸如PrimalScript之类的vbscript IDE只是一个Google 而已 。
如果我有构build一个全新系统运行Win2008R2和Win7的豪华体验,我将在PowerShell上进行标准化。
我们一直在使用VBScript,并且最近才开始研究PowerShell(V2)。 VBScript有它的缺点,但它为我们提供了很好的服务,所以我没有理由放弃过去的投资。 另一方面,PowerShell将会成为Windows脚本语言标准,并且支持一定会变得更好。 因此,对于我们来说,未来几年它将成为一个混合的脚本环境。
顺便说一下,当我查看你的需求列表时,除了关于debugging支持和关于exceptionpipe理(但是VBScripterror handling也不是很好)之外,PowerShell很容易实现。 另外,PowerShell相对于VBScript的一大优点是它可以访问.Net Framework。
我会使用Visual C#2005或2008 Express。 它满足您的所有需求,Visual Studio的Express版本是免费的(如在啤酒中),.NET Framework(特别是如果您select2005年)可能已经在您的服务器上,它可以让您利用一些现有的开发一些真正花哨的东西的技能。
当然,这不是真正的“脚本”,但我个人认为(可选)添加GUI元素对于其他任务可能是有利的。