将.exe文件嵌入.bat文件并自动复制到所需位置

时间:2016-01-06 00:44:28

标签: windows batch-file curl cmd

我在我的批处理文件中使用cURL.exe文件,但问题是用户不应该知道我用来从网站上提取和显示数据的机制。

现在如何工作:我们必须将cURL.exe文件放在C:\下,以便我的批处理文件将使用它连接到WAN服务器并提取数据。

我期待的是:我需要将cURL.exe合并/附加到我的批处理文件中,这样用户就不必将cURL文件复制到C:\ location以便我的批处理执行。

最后我将批处理文件转换为exe,有​​没有办法将cURL.exe和my.bat文件合并在一起并将cURL.exe复制到所需的位置?

非常感谢......

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作(基于答案here):

使用以下内容创建一个文件batchBin.bat:

;;;===,,,@echo off
;;;===,,,echo Do something here
;;;===,,,findstr /v "^;;;===,,," "%~f0" > curlEXTRACTED.exe
;;;===,,,echo YOU CAN ADD YOUR CODE FROM HERE
;;;===,,,curlEXTRACTED.exe example.com
;;;===,,,echo YOU CAN ADD YOUR CODE UNTIL HERE
;;;===,,,exit /b

非常重要:exit /b之后按Enter键以创建换行符,否则它将无法正常工作。

然后运行以下命令(假设您当前的工作目录中有curl.exe和batchBin.exe):

copy /a batchBin.bat + /b curl.exe /b combined.bat

然后将combined.bat文件发送给您将运行它的客户端,它将提取一个名为curlEXTRACTED.exe的文件(当然您可以在脚本中更改其名称)到当前工作目录(如果你想使用其他路径,你也可以改变它的位置)。我的脚本版本甚至通过获取example.com来测试curl,所以可以看到它有效..