使用.net库自动执行任务的最佳技术是什么?

时间:2009-02-14 16:41:54

标签: .net powershell scripting automation ironpython

想象一下,您需要开发和安排应用程序/脚本来执行以下操作: -

  • 引用一个或多个.net程序集
  • 查询API,获取一些对象
  • 为每个对象调用API中的另一个方法

你会用什么?

过去我创建了一些小型控制台应用程序来执行上述操作,但它看起来有点笨拙和矫枉过正。

我想像PowerShell或IronPython这样的东西可能更适合。

有什么建议吗?

5 个答案:

答案 0 :(得分:10)

绝对是PowerShell,这正是它的设计目标。

这里有一些有用的资源可以帮助您入门:

答案 1 :(得分:3)

PowerShell的一个优点是,他们在后台完成了大量工作,使事情很容易组合在一起,进行隐式类型转换等,使一个程序的输出可用作另一个程序的输入。而且由于所有东西都传递了对象,因此您无需编写文本来修改代码以便将事物拼凑在一起。

但是,当我编写大量原始代码而不是严重依赖库并将组件粘合在一起时,我确实更喜欢Python。

答案 2 :(得分:2)

应用程序驱动程序的问题是它们经常崩溃。应用程序不断改变其外表面,这对驱动程序造成了严重破坏。因此,您经常需要更新驱动程序的部分内容。我发现非编译的动态语言是理想的,因为您可以快速进行更新并启动任务。

Powershell是一项很棒的技术。它非常灵活,非常容易上手。它是编译代码和动态代码的混合体。因此,驱动程序中较多的算法重要部分可以是任何编译语言,而更易碎且经常更新的部分可以是脚本。它们无缝集成。

我是狂热的Powershell用户,并且对IronPython没有多少经验(因此我选择)。 IronPython也可以拥有这些功能,如果你对这种语言更加熟悉,那么你应该去哪里。

答案 3 :(得分:2)

IronPython的。

我使用Powershell和IronPython进行了上述任务的试验,得出的结论是IronPython最适合(对我而言)。

公平地说,Powershell或任何基于DLR的语言(如IronPython或IronRuby)都适合这项任务,并且比处理琐碎的控制台应用程序的开销更小。

如果您正在使用.net库并执行一些脚本编写,那么IronPython将使用Powershell。如果您想利用某种shell类型的功能或使用现有的CMDLETS,那么Powershell是更好的选择。

IronPython是python的一个实现,它为脚本编写带来了python的所有优点,例如易于学习,易于阅读和快速开发。

答案 4 :(得分:0)

出于对PowerShell的沮丧,我确实研究过IronPython。我认为这是PowerShell的一个很好的替代品,特别是如果你是程序员。即使你是一个IT人员,我认为Windows命令shell + IronPython是一个很好的组合,可以完成你在.NET时代所需要的东西(就像在COM时代命令shell + vbscript一样)。