Windows的脚本语言?

时间:2010-04-18 17:45:38

标签: windows scripting

  

可能重复:
  Best “official” scripting language for Windows programmers
  Universal scripting language for Windows
  What tools and languages are available for windows shell scripting?

我在Windows工作,经常发现需要编写一些操作文件或基本字符串操作的脚本。目前,我正在使用PHP进行此操作,但为此设置LAMP堆栈似乎有点过分。我尝试过像autoHotkey这样的东西,但语法和功能都很糟糕。

所以我正在寻找一个脚本: a)理智的语法 b)许多内置的库,函数等 c)最小化设置。最好,我想从我选择的应用程序启动器Executor

编写并运行脚本

8 个答案:

答案 0 :(得分:14)

Windows PowerShell™是一种基于任务的命令行shell和脚本语言,专为系统管理而设计。 Windows PowerShell™构建于.NET Framework之上,可帮助IT专业人员和高级用户控制和自动化Windows操作系统和在Windows上运行的应用程序的管理。

Microsoft Windows脚本宿主(最初称为Windows Scripting Host,但第二版已重命名)是Microsoft Windows操作系统的自动化技术,它提供与批处理文件相当的脚本功能,但具有更多支持的功能。 / p>

答案 1 :(得分:6)

Mafutrct提供了非常好的回应;如果你正在启动Windows脚本,那么你一定要从PowerShell开始。内置命令,PowerShell扩展和使用.NET运行时的功能可确保满足您的所有脚本要求。我只希望在PowerShell中使用更好的脚本语言。如果只是Javascript :(。

我想指出WSH仍然是Windows的可行脚本环境。我继续使用它的原因是:

  • Javascript,无论是功能还是原型,都可以简单轻松地编写复杂的脚本
  • 投入WMI,几乎所有相关的窗口都可以轻松完成。这对于网络和系统管理任务非常有用
  • WSH脚本可以在窗口和控制台上同样方便地运行(即通过wscript和cscript调用)
  • 编写脚本就像打开记事本,输入脚本,将其保存为js(或.vbs,.wsh)文件并双击保存的文件一样简单
  • 虽然它不再是严格的脚本,但可以使用.NET的Javascript编译器为jr.exe编译.js文件:jsc.exe。与PowerShell一样,它提供对整个.NET框架的访问

我在过去几周写的一些脚本是:

  • 从MS SQL服务器提取数据,创建Excel工作表并将数据推送到其中,然后将其邮寄给客户端
  • 格式化,解析和过滤数千行VOIP切换日志文件和矢量脚本
  • 使用Ajax从远程服务器提取数据,调用Web服务并将数据传递给它
  • 当我的同事使用我的笔记本电脑时,通过使用微软Speech API的脚本通过扬声器远程“说话”,我吓坏了他们。这是示例代码:

    var sapi = new ActiveXObject("SAPI.SpVoice");
    sapi.speak("hello world");
    

答案 2 :(得分:2)

我是Python的粉丝。

答案 3 :(得分:1)

您可以在没有完整LAMP堆栈的情况下使用PHP。当然,如果你在Windows上运行,你不需要“L”!

我自己去Strawberry Perl。虽然它没有大量的内置库,但它确实有the CPAN

答案 4 :(得分:1)

如果(a)你有LAMP世界的经验,并且(b)你主要想要文件和字符串操作,我推荐LuaLua File System。它是设计空间两极的选择:

  • 积极跨平台。 Lua本身(但不是LFS)扩展到掌上电脑,Palm Pilots等。

  • 非常简单,干净的设计。令人难以置信的高功率重量比。

如果你解决的问题不是特定于Windows的,并且你有可能在其他平台上想要类似的解决方案,那么Lua会很好。

Lua也非常容易学习(没有什么是可怕的),编译任何C编译器,由great book支持,并具有一站式本机Windows实现。

答案 5 :(得分:0)

Perl,“真正的”win32端口(ActiveState或Strawberry Perl)或Cygwin变体。

答案 6 :(得分:0)

Rebol很好。可执行文件是几百KB,不需要安装,可以做GUI和控制台的东西。它可以访问文件,URL,执行程序,您可以命名它。语法真的很小; Rebol有一些最新的oneliners ..:)

答案 7 :(得分:0)

尝试Python。它的跨平台,语法清晰,易于安装,许多“电池包含”模块(如果没有存储库Pypi,相当于Perl的CPAN)。