我有一个.bat文件,它打开一个与它所在的目录相同的程序。它需要程序及其所有数据。现在是我们将批处理文件和文件夹打包到一个exe文件中的一种方式,因此它只需点击一次即可运行,只需分发一个文件即可。如何打包一个.bat文件和一个exe文件
请索取任何附加信息。
我有一个.bat文件,它打开一个与它所在的目录相同的程序。它需要程序及其所有数据。现在是我们将批处理文件和文件夹打包到一个exe文件中的一种方式,因此它只需点击一次即可运行,只需分发一个文件即可。如何打包一个.bat文件和一个exe文件
请索取任何附加信息。
这个应用程序似乎做你想做的。
这可以使用的7-Zip自解压文件来完成。我创建的这个书面记录很久以前开发的脚本,使容易创造这些“自包含”包的过程:
http://www.howtogeek.com/50364/convert-a-batch-bat-script-to-an-executable-exe-file/
例如,运行此命令:
MakeExeFromBat.bat MyBatFile.bat SomeTool.exe SomeOtherBatFile.bat
会生成MyBatFile.exe
,其中包含BAT文件(您的和依赖项)以及批处理文件可用于调用的EXE。
一旦运行,过程是这样的:
MyBatFile.exe
内容解压到一个临时目录。MyBatFile.bat
被执行并运行。任何传递的命令行参数都会发送到MyBatFile.bat
,以便您可以正常使用它们。由于这种处理是由SFX,关于此需要提及的局限性的几个重要通知(我不知道的工具或解决方法可以克服这些限制的)来完成:
cmd
实例的知识,除非您通过参数提供它们。\Subdir
作为参数传递给MyBatFile.exe
(同样在新的cmd
实例中打开),那么\Subdir
将尝试解析到提取它的temp结构中的路径。您可以通过始终提供完整路径名称来解决此问题。但是,大部分情况下,如果您不处理用户提供的文件处理,这些限制将不会发挥作用。
那么,有[NSIS](http://nsis.sf.net/),但要准备好一点点的学习曲线,然后才能做到你想要的。 – rojo 2014-12-05 13:04:23
另外,请查看[7-zip sfx](http://superuser.com/questions/42788/)。这里有一个[教程](http://www.msfn.org/board/topic/39048-how-to-make-a-7-zip-switchless-installer/)。 – rojo 2014-12-05 13:50:27
检查iexpress。它内置在每台Windows机器上,并有一个用户界面,可以做一些事情。 – npocmaka 2014-12-05 13:52:56