Batch file 在解析所有*.MSI模式匹配的目录后,传递相同的开关、参数以安装多个MSI文件
(很抱歉没有用更简洁的措词——我不知道如何总结。) 我有一个很大的源文件目录——所有MSI的。 与其为每个文件编写单独的命令行,我更愿意:Batch file 在解析所有*.MSI模式匹配的目录后,传递相同的开关、参数以安装多个MSI文件,batch-file,wildcard,windows-installer,Batch File,Wildcard,Windows Installer,(很抱歉没有用更简洁的措词——我不知道如何总结。) 我有一个很大的源文件目录——所有MSI的。 与其为每个文件编写单独的命令行,我更愿意: 使用*.msi模式匹配(或类似)调用所有这些函数。。。。并使用“/passive/norestart”运行它们 (可选)还包括“/liew”参数,并替换为 “[文件名的第一部分].log” 我已经试过了: FORFILES /P 3DxSoftware64\. /M *.msi /S /C "msiexec @path /passive /norestart
FORFILES /P 3DxSoftware64\. /M *.msi /S /C "msiexec @path /passive /norestart"
。。。但它失败了;它只启动“MSIEXEC/?”的对话框选项;实际上并不调用文件@path本身。
但是,如果我删除整个“/C”…”字符串,那么它会正确地回显文件名(带有完整路径)
我试过各种方法来传递结果,例如
/C echo @path | msiexec
但它不起作用
有什么想法吗?我的消息来源,这让我想到了这一点: - 谢谢你的帮助
--Joseph也许您错过了选项对话框的这一部分:
…
Install Options
</package | /i> <Product.msi>
Installs or configures a product
…
应该是
msiexec /package @path …
或
msiexec /package @path …
msiexec /i @path …