我使用了IExpress作为自解压工具。我想阻止从临时位置删除文件。这是可能还是不可能?
发布于 2012-12-04 15:29:33
使用IExpress似乎不能直接做到这一点,尽管您可以用一种笨拙的方式来解决它。还有其他的archivers可以直接做到这一点;WinRAR突然浮现在我的脑海中,尽管我相信还有更多。
IExpress似乎有三种模式:
%temp%\IXP000.TMP),运行安装命令,运行可选的安装后命令,删除临时的%temp%\IXP000.TMP文件;必须在命令行上指定位置,否则将提示用户输入位置。(我看不到在向导或.sed文件中设置解压缩目录的任何方法。).cab文件。(但老实说,我只会使用makecab或cabarc…)一种解决方法是在IExpress归档中捆绑一个IExpress归档;内部归档(包含实际文件)是仅提取类型(2),外部归档(只包含内部归档)是安装程序类型(1)。外部IExpress归档文件有一个安装命令,如:
cmd /c innerArchive.exe /q /t:"%temp%\persistent"这将把文件留在%temp%\persistent中。(在%temp%上执行变量扩展时需要cmd /c。)
如果您确实需要运行一个命令来安装某些东西,您可以将其指定为安装后命令(如果您正在运行内部存档中的文件,则引用%temp%\persistent )。同样,您可能需要cmd /c来扩展它。
另一种可能更简单的方法是一个简单的批处理文件:
@echo off
xcopy /y * "%temp%\persistent\"
rem Execute any other commands here...然后,您只需要一个IExpress归档文件,即执行批处理文件的安装程序类型(1)。确保你像cmd /c persist.bat一样运行它-否则它将被command.com执行,这是不好的。
https://stackoverflow.com/questions/13581291
复制相似问题