首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为iexpress创建批处理文件

为iexpress创建批处理文件
EN

Stack Overflow用户
提问于 2012-05-04 20:34:14
回答 5查看 11.4K关注 0票数 5

我正在尝试使用iexpress来运行我的批处理文件,它将为我执行2个exe和1个msi文件。当我尝试手动完成时,它起作用了。

以下是我的批处理文件中的代码。

代码语言:javascript
复制
Start /wait %CD%\1.exe /q
Start /wait %CD%\2.exe /q
msiexec.exe /i "%CD%\3.msi" 

但是当我从iexpress创建一个exe文件时,这似乎不起作用。

Reference

上面提到的文章有一些代码(将文件复制到临时文件夹)&但是我不能理解其中的语法。

代码语言:javascript
复制
MKDIR %Tmp%\<UNIQUE PRODUCT NAME>
XCOPY . %Tmp%\<UNIQUE PRODUCT NAME> /S /E /Y
%Tmp%\<UNIQUE PRODUCT NAME>\setup.exe
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-12-05 05:48:31

问题是,正如您从屏幕截图中看到的,批处理文件是由command.com而不是cmd.exe执行的。(如果不指定解释器,IExpress将使用command.com。哦。)所以没有像%cd%%~dp0这样的变量。

你可能无论如何都不需要它们了。但您确实需要在IExpress中显式地执行批处理文件,如下所示:

代码语言:javascript
复制
cmd.exe /c file.bat

所以它使用了一个现代的命令解释程序。

问题中的第二小段代码通过xcopy将文件保存到不同的目录,从而使文件持久化(即在IExpress归档终止后不会删除它们)。

票数 2
EN

Stack Overflow用户

发布于 2012-05-04 20:42:48

这是它的意思:

1)%TMP%环境变量中存储的路径中创建一个名为“唯一产品名”的目录(MKDIR),该目录通常指向:C:\DOCUME~1\您的用户名\LOCALS~1\Temp

代码语言:javascript
复制
MKDIR %Tmp%\<UNIQUE PRODUCT NAME>

2)然后递归地将当前文件夹中的所有安装文件复制到之前创建的新文件夹中。XCOPY参数:

/S会复制目录和子目录,但不包括空目录。

/E复制目录和子目录,包括空目录。与/S /E相同。可用于修改/T

/Y不会提示您确认是否要覆盖现有目标文件。

代码语言:javascript
复制
XCOPY . %Tmp%\<UNIQUE PRODUCT NAME> /S /E /Y

3)最终从新位置%Tmp%\setup.exe执行应用程序

希望这能有所帮助

票数 2
EN

Stack Overflow用户

发布于 2012-05-04 20:40:53

尝试用%~dp0替换%CD%

假设1.exe与批处理脚本位于同一文件夹中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10448897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档