Windows 中哪些脚本语言有用?

Windows 中哪些脚本语言有用?

哪些脚本语言对 Windows 自动化有用?

答案1

Windows 有 3 个内置解决方案可供考虑:

  1. 电源外壳
  2. Windows 脚本宿主
    a. VBScript
    b. JScript
  3. 批处理文件

PowerShell(v2.0)

从 Windows 7 和 Server 2008 开始,考虑使用 PowerShell 是合理的,因为它随 Windows 一起提供,并且也是管理 Lync 和 Exchange 等服务器软件的基础。可用的功能列表越来越多;请参阅脚本中心了解详情。

Windows 脚本宿主

从技术上讲,Windows Script Host (WSH) 是 ActiveX 脚本引擎的脚本宿主。VBScript 和 JScript(Microsoft 的 JavaScript 实现)是默认安装的两个引擎。开源社区还提供许多其他引擎,包括 Perl、PHP 和 Ruby。

VB脚本

由于使用与 VB6 和 VB.NET 类似的语法,VBScript 无法轻松访问 .NET 类(Powershell 是用 .NET 编写的,因此可以访问所有 .NET 函数)。VBScript 主要利用 WMI 服务及其公开的对象。

例如:创建还原点。

Set wmi, whatName, errResults
wmi = GetObject("winmgmts:\\.\root\default:Systemrestore")
whatName = InputBox("Enter a name for the Restore Point", WScript.ScriptName)
errResults = wmi.CreateRestorePoint (whatName, 12, 100)
If errResults <> 0 then
    Wscript.Echo "Error " & errResults & " : Unable to create Restore Point"
End If

JScript

可以使用 ECMAScript 编写相同的脚本:

var wmi = WScript.GetObject("winmgmts:\\.\root\default:Systemrestore");
var whatName = WSHInputBox("Enter a name for the Restore Point", Script.ScriptName);
var errResults = wmi.CreateRestorePoint(whatName, 12, 100);
if(errResults != 0) {
    WScript.Echo("Error " + err + " : Unable to create Restore Point");
}

命令批处理文件

当然还有好用的批处理文件。它们不需要介绍。

答案2

即使在 Windows 7 中,我仍然会编写 DOS 批处理文件。对于大多数任务来说,这仍然运行良好,并且使用起来非常简单(此外,许多 DOS 命令(例如“FOR”)随着时间的推移得到了改进,并提供了十多年前所没有的更多选项和功能)。

对我来说,DOS 批处理文件仍然是 Windows 的主要脚本语言(它当然是传统的),但每个人的需求和偏好都不同。DOS 批处理文件无法完成许多事情(脚本语言也存在局限性),在极少数情况下,我会考虑其他选择(通常是 Perl,有时可能是编写一个小程序或整个应用程序)。

了解您需要完成的任务是决定使用哪些工具的一个非常重要的步骤。对工具的熟悉程度是另一个可能限制您选择的重要方面。如果您正在决定学习哪种脚本 [或编程] 语言,那么希望本文对您有所帮助。

答案3

这取决于你问谁。有些人永远不会放弃批处理,有些人喜欢 vbscript,有些人喜欢 powershell,其他人喜欢 AutoIt。然后是 Python 和 Perl 等独立于平台的语言,有些人会对所有语言深信不疑。

答案4

我想说的是 AutoIt,它提供了非常快速和简单的 Windows 开发,并且与 Windows 紧密结合。这意味着在其他语言中通常需要大量代码的任务在 autoit 中只需一行即可完成。直接编译为 exe 等功能也非常有用。

相关内容