请注意:便携式,就像portableapps.com一样,不是传统意义上的可用于多种体系结构或操作系统的语言。 无论是谁造就了便携式这个词的用法都应该被打破。 🙂
我是DBA和系统pipe理员,主要是运行SQL Server的Windows机器。 我正在寻找一种不需要pipe理员权限或安装程序的Windows编程/脚本语言,除了将其展开到一个文件夹之外,不需要任何安装过程。 我的意图是有一个自动化的语言,我可以标准化。
到目前为止,我一直在使用batch file和Unix shell的组合,使用UnxUtils中的 sh.exe,但它远非完美的解决scheme。
我已经评估了一些选项,他们都至less有一个严重的缺点或另一个。 我非常喜欢开源或双许可证,但我更感兴趣的是find合适的工具。 对那些依赖于Cygwin或者Java的东西没有兴趣,但是在这一点上,我会很满意一些需要.NET的东西。
要求:
奖励积分:
到目前为止我已经尝试过:
Tclkit是一个单独的,独立的Tcl / Tk系统。 我有的mac版本是大约3.8 megs。 你可以得到一个几乎任何现代操作系统的版本。 我随身携带一个带有mac,windows和linux二进制文件的拇指驱动器,这样我就可以在任何平台上运行我的脚本。 无需安装,只需复制一个文件,无论你想要的。
从原始规格中缺少的唯一东西是开箱即用的MS SQL server / ODBC支持。 我知道人们使用TCL,但我认为你将不得不添加一个额外的库或东西。 有关更多信息,请参阅MS SQL server上的Tcl'ers wiki条目 。
我敦促你试试Lua 。 关于你的要求:
popen
,那么也支持。 而你的奖励点:
srlua
,或者我可以给你发送一个120行的Lua脚本,将Lua源代码转换成一个.c文件,你可以用你的应用程序和解释器链接到一个可执行文件。 额外奖励积分:
有几个Python选项可能适合您的账单:
第一个是IronPython,它可以在没有安装程序的情况下运行,并且可以很好地与.net API配合使用。 这使您可以使用.net API或可以构建PIA的COM typelib来访问任何内容。 我已经在使用作为脚本机制正是这个原因 – 它可以被放置到系统中的一个目录,并不需要明确安装..
您必须安装适当的.Net运行时,但.Net 2.0随SQL server 2005一起安装。可以通过ADO.net访问SQL server,并且使用Winforms构建GUI非常简单。
第二个是便携式Python ,它被设计成运行在USB密钥上。 虽然我看到你已经尝试过了,但你可以详细说明缺点是什么。 如果在基本安装中没有可用的东西,您可以随时查看包含的自定义版本。 TkInter(至少)是捆绑在一起的。
您还可以使用Py2EXE生成独立的Python应用程序,并删除所有多余的垃圾。 这会给你10个左右的文件(取决于DLL的数量),可以从一个目录运行,可能在一个USB密钥上运行。
在Unix-oid操作系统上运行本地python安装非常简单,所以这是非常简单的。 另外,python附带了大部分的linux发行版,并且可以作为来自大多数(如果不是所有的)unix供应商的“贡献软件”提供。 IIRC也与MacOS捆绑在一起。
对于tcl来说,除了Tclkit之外, freewrap是另一个小巧的,便携的,独立的tcl解释器。
只需将freewrap可执行文件重命名为其他内容即可将其转换为独立的解释器。 将它重命名为freewrap会将其转换为脚本包装器。
此外,freewrapped应用程序包含一个tcl解释器。 在紧急情况下,您可以尝试以zip文件的形式打开应用程序,并编辑/替换包含在其中的tcl代码(只要记得首先制作一个副本)。 当我在没有开发工具的客户端网站上时,这已经节省了好几次,但是需要排除一些问题。 我只是制作一个我部署的应用程序和即时开发环境的副本!
看看维基百科的可移植软件的详尽清单有这里的维基百科的Tiny C编译器和它自己的主页。
总结来自维基百科的功能列表:
希望这有助于和将是有用的,最好的问候,汤姆。
除了Lua的建议,还有空闲 。 它基本上是Lua 5.1的一个超集,包括语言(和库)和基于Lua的实现。 它最初被创建为一个更完整的Windows脚本解决方案:因为Lua主要用于嵌入,它有一个相当小的标准库,通常预计嵌入应用程序会为Lua提供一个丰富的库。
这对于嵌入式语言来说是有意义的,因为毕竟Adobe Lightroom,Nginx和魔兽世界之间没有太多共同的功能,所以在标准库中没有任何东西。 但是对于一个更通用的操作系统脚本语言,人们会想要一个稍大的库。 因此,Idle在其标准库中捆绑了一些第三方的库(有时候很难在Windows上工作)。
Idle标准库添加了Lua的一些功能是紧密的Win32集成,SQLite3支持,网络支持,PEG解析器生成器和归档支持。
另外,Idle支持将Perl和C代码嵌入到空闲程序中。
每个有些现代的Windows版本都预先安装了VBScript和JScript。 不符合你的所有功能(编译成可执行文件),但它们在安装尺寸上肯定有无与伦比的优势:很难击败0
。