假设有几个项目主要由聪明的实习生维护,他们最终会在一段时间后离开。脚本在这里和那里的关键部分使用,例如,备份数据库,重命名,压缩,通过ssh移动,解压缩,然后使用不同的设置恢复它。你知道,脚本的东西。
设置了应用程序端的编程语言,但脚本的编程语言已经放宽了。目前可能有健康的bash和.bat文件组合,也许还有一些Perl。
1)为了避免语言扩散,2)因为我不想强迫bash对未来的Windows程序员,我想设置一个“官方”脚本语言。
谷歌为此选择了Python,它以可读性,易学性和良好的图书馆而闻名;但是,与C语法,Pascal或Ruby相比,我个人认为它不具有可读性。
在任何情况下,如果你被迫只在Windows机器上使用一种脚本语言(如果你愿意,可以使用Cygwin),那么你想要的是什么,为什么?
相关的宗教战争:
答案 0 :(得分:16)
PowerShell - 从一开始就设计为Windows脚本语言,它可以挂钩到CLR以获得高级功能。
(是的,我知道这不会在cygwin下运行......但为什么这是一个要求?)
答案 1 :(得分:4)
当我编写跨平台产品安装程序时,为Linux / Mac / Solaris等编写UNIX shell脚本非常简单,但尝试在BAT中执行相同的任务就像在黑暗中,在水下工作一样双手绑在背后。我不能强烈地说明 BAT脚本对人类是一种伤害。
所以我听说PowerShell让我感到高兴。这对Windows开发人员来说是一种救命。唯一的麻烦是我相信它仍然是一个单独的安装,它默认不可用(我已经读过它将在Windows Server 2008和Windows 7上)。
哦,好吧,微软花了20年的时间才用UNIX shell替换BAT脚本,所以我想我不应该太忘恩负义! >: - P
在此处获取PowerShell的安装程序:
http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx
答案 2 :(得分:3)
我将尝试提供一种替代方案 - 即使在Windows版本中,JavaScript和VBScript工作也很好,并且它们不需要像PowerShell这样的单独安装。 ;)当然,PowerShell有更多功能:P
答案 3 :(得分:2)
我敦促你给Python一个机会。对于'C'程序员起初看起来有些奇怪,但它很容易上手,更重要的是容易记住。您将拥有使用和修改代码的各种技能级别的实习生,因此您需要可以从广泛的用户群中获取的内容。如果你要去安装新东西的麻烦,为什么选择powershell,对于任何使用它的人来说都是死路一条。
答案 4 :(得分:1)
Powershell的。它具有广度和深度,并得到全面支持(现在和将来。)与Cygwin不同。
答案 5 :(得分:1)
尔加。我打算说“powershell”,但是我太忙于编写powershell来发送我的答案,其他2人打败了我。
答案 6 :(得分:1)
我在Windows中遇到的界面和控件类型应用程序的最佳脚本语言是AutoHotKey。任何在Windows上开发的人都应该学习这种语言......它可以节省大量的时间,只需自动执行延迟的Windows任务......
我遇到的最有用的工具之一是Texter
这个实用程序是用AutoHotKey编写的,它使我不必再输入任何东西......对于编码人员或任何填写表格或门票的人来说,这是一个不可或缺的工具......!
答案 7 :(得分:0)
对于您的特定描述,PowerShell听起来是一个很好的方式...但我会在WSH(或Rhino / etc下的JavaScript)下为JScript做一个强有力的案例。听起来像你喜欢CYGWIN,但是Powershell目前还不支持其他平台(我认为太多原生的东西 - 这是一个单独的讨论IMO,但谷歌应该回答它。)
我几乎在这里提出这个案例: http://mikesharp.wordpress.com/2011/04/03/jquery-for-administrators/
一些亮点:
JScript无法直接访问.NET框架 - 尽管纯.NET中有一些第三方JavaScript引擎可以解释它,并且可以像Jurassic和IronJS一样与它共享对象。还有像JavaScriptDotNet这样的包装器(在Chrome / V8附近)。 在WSH下,Powershell可能会比JScript更快,但其他第三方解释器也可能不会这样说。
请不要使用VBScript(缺少try / catch,没有真正的OOP,专有,弃用等)。
答案 8 :(得分:0)
如果你像我一样想要显示漂亮的进度条或启动画面,而你的脚本正在执行它(而不是黑/灰色命令提示符窗口),请使用AutoHotkey。显示进度条是一个带有JScript / VBScript(WSH)和/或PowerShell的PITA。在AHK中,它很简单:
Progress, b2 m, ACME App, Doing some magic...
此外,您可以在任何窗口中与几乎任何控件进行交互,并自动化不应自动化的应用程序。