C#.NET控制台应用程序(.exe)与计划任务的VBScript(.vbs)

时间:2010-09-30 23:23:37

标签: scripting vbscript scheduled-tasks

我有以下VBScript:

Dim strFile, strXPath, strNewText, xmlDoc, xmlNodes, xmlNode

strFile = "C:\folder\cats.xml"
strXPath = "/list/cat/@LAST_BATH"
strNewText = Now

Set xmlDoc =  CreateObject("Microsoft.XMLDOM")

xmlDoc.Async = "False"
xmlDoc.Load(strFile)

Set xmlNodes = xmlDoc.selectNodes(strXPath)

For Each xmlNode in xmlNodes
  xmlNode.Text = strNewText
Next

xmlDoc.Save strFile

XML文件:

<?xml version="1.0" ?>
<list>
  <cat NAME="Monkey" LAST_BATH="9/30/2010  3:02:02 PM" />
</list>

以上脚本只有1KB。我还有一个小的C#.NET控制台应用程序(.exe)完全相同的东西,但它是11KB,App.config是1KB(配置文件所以路径和字段名称不是硬编码的)。 / p>

我打算做的是创建一个计划任务,以便在某个时间间隔运行上述过程。

哪个更好用,.vbs或.exe?为什么?

内存的差异会影响性能吗?我认为.exe更快,因为它是预编译的,但由于.vbs非常小,我猜它的速度和你想要的一样快。

(我意识到这是一个没有实际意义的问题,但我只是好奇。感谢您的耐心等待。)

2 个答案:

答案 0 :(得分:1)

我绝对喜欢尽可能使用脚本语言的小工具和应用程序 - 这个例子是一个完美的候选人:

  • 它不太复杂
  • 作为一个脚本,您可以轻松修改和调整脚本,而无需重新编译
  • 您可以轻松查看脚本的功能,而无需搜索源代码

当然脚本语言(可能)总是比编译代码慢,但通常我发现这不是真正的问题。

如果你在vbs中编写了很多这样的小工具,那么你可能会考虑切换到更强大的脚本语言 - 作为.Net开发人员,我强烈推荐Iron Python(即使相对来说也是如此。大型/ GUI实用程序)

答案 1 :(得分:1)

性能方面没有问题,因为这是一项小任务。我希望VBS完成该任务。源易于更改,无需编译/链接。您可以在您正在使用的目录上编辑代码,这与编译代码不同,在编译代码中您需要访问项目目录,打开VS并在那里进行编辑。