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