关于Windows XP脚本编写、WSH与PowerShell的建议
在Unix/Linux开源世界中使用Bourne Shell、Perl、Python和Ruby等语言编写了大量脚本之后,我现在发现自己需要编写一些Windows XP管理脚本。传统环境似乎是Windows脚本主机(WSH),它可以使用各种脚本语言,但主要语言是VBScript,并且基于COM对象。然而,未来似乎是基于.NET的Windows PowerShell 自从20世纪70年代的Applesoft以来,我就没有做过Basic,所以我并不热衷于学习VBScript,尽管我确实学到了足够的知识,可以编写一个小脚本来装载网络驱动器。如果我要花时间真正了解这一点,我倾向于将我的时间投资于.NET PowerShell环境,如果它真的是未来的话。几年前我做过一些C#Windows窗体编程,因此我接触了一些.NET,这也使得PowerShell很有吸引力 了解到没有人有水晶球来预测微软的未来,我希望听到任何一位PowerShell用户认为这是值得的,或者如果有人知道PowerShell的严重缺点,并建议我远离它关于Windows XP脚本编写、WSH与PowerShell的建议,powershell,scripting,vbscript,windows-xp,wsh,Powershell,Scripting,Vbscript,Windows Xp,Wsh,在Unix/Linux开源世界中使用Bourne Shell、Perl、Python和Ruby等语言编写了大量脚本之后,我现在发现自己需要编写一些Windows XP管理脚本。传统环境似乎是Windows脚本主机(WSH),它可以使用各种脚本语言,但主要语言是VBScript,并且基于COM对象。然而,未来似乎是基于.NET的Windows PowerShell 自从20世纪70年代的Applesoft以来,我就没有做过Basic,所以我并不热衷于学习VBScript,尽管我确实学到了足够的知识
更新:我最终使用WSH/VBScript作为一个特定脚本,我正在用户的Windows XP工作站上安装该脚本作为启动脚本。我所要做的就是把它复制到他们的启动文件夹,我就完成了。然而,我只学到了足够的WSH来完成这一项工作。我很高兴看到PowerShell是未来,当我有更复杂的脚本任务时,我将转向PowerShell。如果您倾向于向前看,PowerShell肯定是一个不错的选择,但它必须在Windows 7之前单独安装,如果您只想部署在没有进一步依赖关系的情况下运行的脚本,这可能会使WSH成为一个更具吸引力的目标。此外,.NET还没有包括在XP等古老的Windows版本中,这进一步提高了标准 不过,如果你接触过.NET,你会发现Powershell非常直观。特别是在Windows Server环境中,它似乎很快成为命令行管理的默认设置,因为几乎所有新发布的服务器组件都附带自定义Powershell cmdlet。因此,Powershell似乎是微软的一条道路,他们希望遵循一段时间。见鬼,到目前为止,他们甚至还没有埋葬COM,所以我认为Powershell至少还能生存十年,因为他们将它定位为管理任务的自动化和脚本环境 我还发现了一个基于对象的管道,虽然我花了一段时间才习惯它,但最终非常强大且易于使用。当然,简化了许多需要sed/awk on*nixes的事情
话虽如此,我仍然使用Windows批处理文件来处理许多应该在Windows上运行而没有任何依赖项的东西,但这只是我的一个坏习惯:)WSH的主要优点是,它是从Windows 98开始默认安装的,甚至可能是Windows 95,但随着PowerShell现在与Server 2008一起出现,而且可以安装在XP之后的任何设备上,这已经不再是一个问题了 如果您可以完全控制脚本将在其上运行的服务器,我建议您使用PowerShell “值得”吗 当然。原因如下。
- e、 创建一个通用的
集合如下列表
如果可能,使用Posershell和内联C#,如果不使用-WSH,则使用-msdos批处理。我为Windows寻找一种最好的脚本语言已经有一段时间了(现在仍然如此)。然而,在看到所有变体之后,我最终使用了WSH的JScript。虽然Powershell显然有优势,但第一篇文章的优势似乎并不显著(内置IDE除外)。但是,缺点没有完全列出: