我不太确定这在 StackOverflow 上是否会更好,如果您认为它在那里更合适,请随意移动它。
无论如何,回到这个问题...
现状
我们目前混合使用 VBScript、DOS 批处理文件和少量 PowerShell 脚本来执行业务中的各种任务。
任务范围从查明谁通过 IP 登录到特定机器到相当复杂的文本处理和数据库查询(SQL Server 2005/2008)
VbScript 确实不是一种很好的语言,尽管它确实有相当好的调试支持,PowerShell 要好得多,但(免费)调试支持相当简陋,关于批处理文件的说法越少越好
问题
我不想引发争论(请只发表客观评论!)我想标准化一种脚本语言,要求如下:-
- 必须与 Windows 兼容
- 良好的调试支持(像 Visual Studio 或 Eclipse 这样好的东西就很完美了,我会选择像当前 VBScript 调试器这样好的东西)
- 良好的异常管理
- 良好的内存管理(垃圾收集)
- 良好支持连接数据库(SQL Server)
- COM 支持将是一个优势
- 最好是轻量安装(或者不安装),这样我们就可以将其放在服务器上而不会破坏任何东西
- 绩效不是关键,这些工作大多是夜班工作
- 对于主要使用 C#/Java/VBScript/VBA 的公司来说,学习起来很容易
我对你的想法/建议非常感兴趣
答案1
PowerShell 2,毫无疑问。我认为它满足了您的所有要求,并且其集成脚本环境具有语法高亮功能,并且具有良好的调试支持,包括断点和分步执行。
答案2
除非你正在寻找 wmi 和 dotnet 的具体信息,否则我发现 python 是适用于所有平台的出色脚本工具。它确实满足了你的几乎所有要求
否则,我认为 powershell 是可行的方法,尽管它确实需要安装 dotnet 框架。
答案3
我不喜欢 ISE,但我对 Visual Studio IDE 在其他开发方面很满意。有些人喜欢免费的 PowerGUI 替代品:http://www.powergui.org。它似乎具有类似 Intellisense 的功能。
我能想到的关于 PowerShell 的唯一反对意见是它需要框架,并且需要 3.5 框架才能使用一些 V2 高级功能。如果您需要将其部署到数百或数千台机器上,那么它就不是一个轻量级组件。
答案4
我们已经使用 VBScript 多年了,直到最近才开始研究 PowerShell(V2)。VBScript 有其缺点,但它为我们提供了良好的服务,所以我看不出有什么理由放弃我们过去对它的投资。另一方面,PowerShell 将成为 Windows 脚本语言标准,支持肯定会变得更好。所以,对我们来说,未来几年它将是一个混合脚本环境。
顺便说一句,当我查看您的需求列表时,PowerShell 轻松满足了除调试支持和异常管理之外的所有需求(但 VBScript 错误处理也不是很好)。此外,PowerShell 相对于 VBScript 的一大优势是它可以访问 .Net Framework。