如何将 VBScript 转换为可执行 (EXE) 文件? [关闭]

2024-04-27

我四处寻找转换 VBScript 的信息(*.vbs)到可执行文件,并意识到大多数可用的工具实际上是将脚本包装在可执行文件中。尝试了一些工具,但效果没有达到预期。我尝试使用 IExpress(在 Windows XP 中)创建 Win32 自解压 cab 文件,但它在 Windows 7 计算机上无法正确调用。

所以我正在寻找一种将vbs编译成exe的方法。我正在尝试将当前脚本移植到 VB Express 2008 中,但我对 Visual Basic 没有先验知识。有很多错误,但我仍在尝试。

有人可以建议我应该如何从这里开始吗?我的意思是,会自解压存档成为要走的路而不是独立的可执行文件?但是像 Winzip 一样,我不知道如何让它在解压后运行脚本。

有任何想法吗?


无法将 VBScript(.vbs 文件)转换为可执行文件(.exe 文件),因为 VBScript 是不是编译语言.将源代码转换为本机可执行代码的过程称为“汇编” http://en.wikipedia.org/wiki/Compiler,并且它不支持脚本编写VBScript 等语言。

当然,您可以使用 WinZip 之类的工具将脚本添加到自解压存档中,但所做的只是压缩它。文件大小是否会明显缩小是值得怀疑的,而且由于它本来就是一个纯文本文件,所以根本没有必要压缩它。唯一的目的是自解压存档的优点是最终用户的计算机上不需要解压软件(如 WinZip)就能够extract或“解压缩”文件。如果它一开始就没有被压缩,那么这就是一个有争议的问题。

或者,正如您所提到的,有多种方法可以将 VBScript 代码文件包装在独立的可执行文件中,但这些只是当用户双击 .exe 文件时自动执行脚本(处于当前未编译状态)的包装器。我认为这有其好处,但听起来并不像您正在寻找的。

为了真正将 VBScript 转换为可执行文件,您必须用另一种语言重写它compiled. 视觉基本6 http://en.wikipedia.org/wiki/Visual_Basic(VB 的最新版本,在 .NET Framework 推出之前)在语法上与 VBScript 极其相似,但支持编译为本机代码。如果将 VBScript 代码移至 VB 6,则可以将其编译为本机可执行文件。运行 .exe 文件需要用户拥有已安装,但它们已内置于目前广泛使用的大多数 Windows 版本中。

或者,您可以继续跳转到Visual Basic .NET http://en.wikipedia.org/wiki/Visual_Basic_.NET,剩下的就是somewhat语法与 VB 6 和 VBScript 类似(尽管它不会接近剪切和粘贴迁移)。 VB.NET 程序也将编译为 .exe 文件,但它们需要在用户计算机上安装 .NET Framework 运行时。幸运的是,这也变得司空见惯,如果您的用户碰巧没有它,也可以轻松地重新分发它。您在问题中提到要走这条路线(将当前脚本移植到使用 VB.NET 的 VB Express 2008),但您遇到了很多错误。这就是我所说的远非剪切粘贴迁移的意思。有一些hugeVB 6/VBScript 和 VB.NET 之间存在差异,尽管有一些表面语法上的相似之处。如果您需要迁移 VBScript 方面的帮助,您可以在 Stack Overflow 上发布问题。最终,这可能是实现您想要的效果的最佳方法,但我不能向您保证这会很简单。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 VBScript 转换为可执行 (EXE) 文件? [关闭] 的相关文章

  • “没有这样的文件或目录”但它存在

    我只想从命令行运行可执行文件 arm mingw32ce g 但随后我收到错误消息 bash arm mingw32ce g No such file or directory 我运行的是 Ubuntu Linux 10 10 ls l l
  • 检测输入框中的粘贴

    我有一个输入框 我想使用 vbscript 或 javascript 没有 jquery 来捕获粘贴事件 使用 onpaste 事件捕获该事件并在 Javascript 中执行您需要的操作 例如 禁用输入文本字段中的粘贴
  • JavaScript 是否有相当于 VBScript 的 ExecuteGlobal 的功能?

    javascript 中是否有 ExecuteGlobal 的替代方案 Function vbExecuteGlobal parmSCRIPT ExecuteGlobal parmSCRIPT End Function DevGuru 描述
  • 如何让shell脚本在Mac中双击运行?

    我创建了一个 shell 脚本来在 Mac 中运行 jar 文件 bin sh java Xmx512m jar test jar 我已将此脚本重命名为 应用程序命令 双击就可以直接运行 我已经应用了 chmod x 命令使其具有可执行权限
  • Iexpress - 提取路径

    我要创建一个自解压存档 但在连接默认解压路径时遇到问题 我想在与自解压存档程序相同的路径中解压我的文件 不幸的是 这些文件正在另一个路径中提取 C Users computer AppData Temp IXP000 TMP 可以设置路径吗
  • 在 vbs 中比较两个字符串时,Trim 函数不会删除字符串末尾的空格

    我有一个简单的脚本 它需要两个字符串并比较它们 第一个末尾有一个空格 第二个则没有 Function compare str1 str2 dim a If strComp trim str1 trim str2 0 Then msgbox
  • 从 .vbs 文件调用 VBA 宏会引发 800A03EC 错误

    我正在尝试通过 VBS 文件 文件名 Check final vbs 运行 VBA 宏 这是代码 Option Explicit run macro Sub run macro Dim xl1 Dim sCurPath Dim xlBook
  • 使用 CFExecute 运行 VBScript 会引发错误,但通过命令行可以正常工作

    我正在尝试运行 VBScript 但 CFExecute 抛出错误
  • 在wix中,使用vbscript,如何写入日志文件?

    我正在自定义操作中尝试以下操作 Session Log GetOfficeBitness Session Property OfficeBitness 我收到错误 错误 1720 此 Windows Installer 程序包有问题 A 无
  • ADO 参数化查询不返回任何结果

    我正在使用此查询从经典 asp 页面中的 vbscript 获取一些结果 但它不会返回任何值 该页面是空白的 也没有错误 请问有什么建议吗 dim cmd admin no admin no request QueryString admi
  • msscript.ocx 从哪里安装

    我在我的应用程序中使用 msscript ocx 它是 Windows 的 ActiveX 脚本主机 尽管我希望能够对高度可定制的 XP 嵌入式 XPe 使用相同的功能 1 我想知道在XPe上是否可以选择性安装msscript ocx 2
  • 如何为命令 net user 在列表中返回的每个用户运行批处理文件?

    我的目标是制作一个通用代码 循环遍历计算机中的所有用户帐户名称并将输出发送到批处理文件 net user 命令输出用户列表 但我想将每个用户名分配给一个参数 所以我应该使用for f命令去做 这可能看起来很简单 但请记住用户名可能在任何位置
  • 我可以直接从命令行运行 vbscript 命令(即没有 vbs 文件)吗?

    在Python中你没有义务使用文件 你可以指定 c 并通过命令行上的字符串将 Python 命令提供给 Python 解释器 我可以用 vbscript 达到相同的结果吗 我见过需要您使用批处理脚本的解决方案 但是如果我所在的系统具有零写入
  • 如何将 VBScript 转换为可执行 (EXE) 文件? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我四处寻找转换 VBScript 的信息 vbs 到可执行文件 并意识到大多数可用的工具实际上是将脚本包装在可执行文件中 尝试了一些工
  • CDO.消息编码问题

    我们目前正在将邮件递送系统更改为仅使用UTF 8 发件人姓名似乎有问题 当电子邮件包含非 ASCII 字符 希伯来语 时 主题和正文呈现正常 但发件人姓名 如出现在我的 gmail 帐户中 变为 有一行代码 myMail BodyPart
  • 什么时候必须将 XPath 属性设置为 XML DOM 对象?

    例如 Set objXML CreateObject Microsoft XMLDOM objXML async False objXML validateOnParse False objXML resolveExternals Fals
  • 等待程序完成

    为了监视带宽使用情况并且不要在启动时加载不必要的程序 我想先执行dumeter exe 然后执行firefox exe 当我关闭firefox时 它应该杀死dumeter 我使用以下代码启动 Set WshShell WScript Cre
  • CreateObject() vbs 的对象列表

    我喜欢脚本 我不喜欢重新发明轮子 所以我喜欢 CreateObject您能给我指出一个可在 VBScript 上使用的广泛且有用的对象列表并附上简短说明吗 确实 我还没有找到超过 50 个的网站 提前致谢 我自己并不知道有这样的列表 但我知
  • VBscript 以提升的权限运行 bat 文件

    这是我的bat文件 REG DELETE HKLM Software Microsoft Windows CurrentVersion WindowsUpdate v SusClientId f REG DELETE HKLM Softwa
  • 如何从 HTA 中启动批处理文件

    我有一个基本的 HTA 其中我尝试通过按钮启动批处理文件 但是当我尝试启动批处理文件时 它不会运行 当我按下按钮时 将启动命令提示符窗口 但不会运行脚本 这是代码的简单示例

随机推荐

  • 循环遍历每一列和行,做一些事情

    我认为这是描述我想做的事情的最佳方式 df column lt ifelse is na df column TRUE 0 1 但其中的列是动态的 这是因为我有大约 45 列 全部具有相同类型的内容 而我想做的就是检查每个单元格 如果其中有
  • 使用 istream_iterator 范围构造时无法访问向量

    我尝试编译此代码片段 但出现编译器错误 使用 Visual Studio 2010 进行编译 include
  • 推导具有两个以上参数的 std::function

    我想知道为什么std function http en cppreference com w cpp utility functional function只知道有两个参数的函数 我已经编写了一些运行良好的代码 但存在许多限制 欢迎任何反馈
  • 即使在回发后也保持用户检查 radiobtn 检查

    我有以下无线电控件 默认选中 全部 如果用户检查其他一些单选按钮并提交 在回发时我想保留选中的按钮 以便用户可以看到他们单击的内容 如何保留使用 jquery 选择的内容 我正在使用的是
  • C#中判断HDD是GPT还是MBT

    如何用 C 判断硬盘类型是 GPT 还是 MBR 我查看了Win32 DiskDrive 似乎没有它 您想要使用 PInvoke 请参阅http pinvoke net http pinvoke net with CreateFile De
  • 提升精神带走关键字并忽略船长

    这是使用表达式的语法的一小部分 prefix lit L not gt gt prefix lit gt gt prefix postfix 我在 postfix 内部有某种方式纯名称获取标识符 name pure lexeme boost
  • C++ 抛硬币程序错误

    我正在尝试计算抛硬币中连续的正面朝上的次数 不幸的是 我的连续头计数器没有正确增加 有任何想法吗 代码和示例输出如下 include
  • 从 std::list 中删除具有特定值的元素

    我需要从 std list 中删除具有特定值的元素 随着list
  • 使用 Deployment Manager 创建 Cloud Run 服务

    我正在尝试使用部署管理器创建 Cloud Run 服务 因为 Cloud Run 资源类型没有本机支持 我通过在以下位置提供其描述符来为 Cloud Run API 创建类型提供程序 https run googleapis com dis
  • BigInteger 乘以 Double

    我的物理老师给全班布置了一项艰巨的任务 我正在尝试创建一个程序来为我计算一些事情 在某个时刻 我需要将分子数量乘以百分比 Ulong 不能容纳大到 6022 10 19 的数字 所以我必须使用 net 4 0 中的 BigInteger 但
  • glypicon 上的单击事件

    如何将 ng click 事件添加到文本框中的引导字形图标 该事件不会被解雇 h3 How to clear the model on remove icon click h3 div class container div class f
  • 跨源资源共享中 this.withCredentials 属性的问题

    我们正在实现一个基于 AngularJS 的应用程序 该应用程序使用托管在不同域中的 REST Web 服务 以下脚本用于 CORS 它在 Chrome 和 FireFox 上完美运行 在 IE9 和 Safari 中进行身份验证时存在问题
  • 了解 Collection.isEmpty() 和 Collection.size() == 0 之间的区别? [复制]

    这个问题在这里已经有答案了 我读过很多关于两者之间差异的文章isEmpty and size gt 0 用于检查collection是否为空并发现isEmpty 表现超过size 但我无法轻易理解为什么性能isEmpty 即使 isEmpt
  • 主函数抱怨返回非 IO monad

    import Debug Trace main do trace Main function parses and returns 0 return 这会引发错误 app hs 3 1 Couldn t match expected typ
  • 如何在 Docker 容器中运行 Nginx 而不停止?

    我在 Docker 容器上安装了 Nginx 并尝试像这样运行它 docker run i t p 80 80 mydockerimage usr sbin nginx 问题是 Nginx 的工作方式是 初始进程立即生成一个 Nginx 主
  • 使用 wp_read_audio_metadata()

    我正在尝试从 WordPress 中的 mp3 文件获取一些元数据 特别是长度变量 这是我的一些代码 这里没有显示 但我已经包含了 wp admin includes media php 文件 当我查看我的页面时http beta open
  • 如何从函数调用事件处理程序?

    我有一个类 我从中调用一个函数ABC string st 带字符串参数 该函数定义在一个Form class Form1 我有一个列表视图 想要从函数中自动调用列表视图 mouse click 事件 我该如何做到这一点 您不能调用另一个类的
  • python lxml 我如何在项目名称中使用标签?

    我需要使用项目的特殊名称构建 xml 文件 这是我当前的代码 from lxml import etree import lxml from lxml builder import E wp E wp tmp wp title print
  • Array.filter 与 $filter('filter')

    我应该在 Angular 应用程序中使用哪一个 为什么 array filter o gt o name myName or filter filter array name myName true 关键的区别是快捷方式或语法糖由提供 fi
  • 如何将 VBScript 转换为可执行 (EXE) 文件? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我四处寻找转换 VBScript 的信息 vbs 到可执行文件 并意识到大多数可用的工具实际上是将脚本包装在可执行文件中 尝试了一些工