为iexpress创建批处理文件
我正在尝试使用iexpress
运行我的批处理文件,它将为我执行2 exe和1 msi文件。 当我尝试手动操作时,它的工作原理。
以下是我的批处理文件中的代码。
Start /wait %CD%\1.exe /q Start /wait %CD%\2.exe /q msiexec.exe /i "%CD%\3.msi"
但是当我从iexpress创建一个exe文件时,这似乎不起作用。
参考
上面提到的文章有一些代码(将文件复制到临时文件夹)&但我无法理解语法。
MKDIR %Tmp%\ XCOPY . %Tmp%\ /S /E /Y %Tmp%\\setup.exe
问题是,正如您从屏幕截图中看到的那样,批处理文件由command.com
执行,而不是cmd.exe
。 (如果你没有指定解释器,IExpress使用command.com
。哎哟。)所以没有像%cd%
或%~dp0
这样的变量。
你无论如何都可能不需要它们。 但您确实需要在IExpress中显式执行批处理文件,如:
cmd.exe /c file.bat
所以它使用现代命令解释器。
您的问题中的第二位代码通过将它们复制到不同的目录使文件保持不变(即,在IExpress存档终止后它们不会被删除)。
这是意思:
1)在%TMP%
环境变量中存储的路径中创建名为“UNIQUE PRODUCT NAME”的目录( MKDIR
),该目录通常指向:C:\ DOCUME~1 \ yourusername \ LOCALS~1 \ Temp
MKDIR %Tmp%\
2)然后将当前文件夹中的所有安装文件递归复制到之前创建的新文件夹中。 XCOPY参数:
/S
复制除空的目录和子目录。
/E
复制目录和子目录,包括空目录。 与/S /E
相同。 可用于修改/T
/Y
禁止提示您确认是否要覆盖现有目标文件。
XCOPY . %Tmp%\ /S /E /Y
3)最后从新位置%Tmp%\\ setup.exe执行应用程序
希望这可以帮助
尝试用%~dp0
替换%CD%
假设1.exe与批处理脚本位于同一文件夹中。
您的%CD%无效。 请确保已启用CMD扩展(键入CMD / x以启用,CMD / y禁用)然后使用此代码展开%CD%
SET CURDIR=%CD% Start /wait "%CURDIR%\1.exe" /q Start /wait "%CURDIR%\2.exe" /q msiexec.exe /i "%CURDIR%\3.msi"
而且我不确定你是否可以出于安全原因从该位置(APPDATA)启动exe。
非常感谢这个论坛讨论。最后,我能够在一个.exe文件中编译所有msi文件和可执行文件。
完成以下步骤创建批处理文件
echo on
SET CURDIR=%CD%
msiexec.exe /i "%CURDIR%\1.msi"
"%CURDIR%\3.EXE"
"%CURDIR%\setup.exe"
echo off
您可以根据需要排列任意数量的exe文件或msi文件,并将批处理文件另存为yourfile.bat。 现在最棘手的部分是在你进入Iexpress之前,使用http://www.f2ko.de/programs.php?pid=b2e提供的软件将批处理文件转换为exe文件
现在,当您运行程序时,请选中“隐形应用程序”以隐藏命令提示符。您还可以使用密码加密您的exe。 “退出时删除”是可选的,因为文件执行完成后将自动删除临时文件夹。 成功编译批处理文件后,执行创建的.exe文件。 答对了!! 您将看不到命令提示符窗口,您的应用程序将按顺序开始执行。
开始您的Iexpress工具并添加批处理文件中存在的所有文件(批处理文件除外)。在“安装要启动的程序”屏幕上,将“安装后命令” 留空并在“安装程序”下拉列表中找到以下内容:’ demo.exe ‘并继续进一步创建完整的单一包装。 干杯!!