batch-file - 除非线路单独运行,否则开关无效

标签 batch-file installshield invalid-characters

我的 .BAT 有一个 Install Shield 行,它会因无效的开关/s 而出错,除非它在单独的命令提示符下运行。我对这一切都很陌生,我所能想到的只是因为它是一种不同的语法。有没有办法让它与安装的其余部分在同一批次中运行?

这是问题中的行:

    START /wait %desktop%\Serverx64\CDImage_1100_1003a\setup.exe /s /a /s /sms /f1c:\Temp\setup.iss

这是我的 .BAT:
@echo off
@echo Installing SQL

MD C:\tempdasql

COPY ConfigurationFile.ini C:\tempdasql > nul
SQLEXPRWT_x64_ENU /ConfigurationFile="C:\tempdasql\ConfigurationFile.ini"
@echo SQL Installed
@echo:

@echo Installing 2005 BC
MSIEXEC /i SQLServer2005_BC_x64.msi /qb
@echo Installed 2005 BC
@echo:

DEL C:\tempdasql\ConfigurationFile.ini
RD C:\tempdasql

TIMEOUT /T 3
@echo:
@echo Installing WinRAR

SET desktop="%userprofile%\Desktop"

START "WinRAR" /wait %desktop%\Serverx64\winrar\wrar393.exe /s

SET winrar="C:\program Files\WinRAR\WinRAR.exe"

MD %userprofile%\Desktop\Serverx64\CDImage_1100_1003a\
@echo Extracting Foo
@echo:

%winrar% x %desktop%\Serverx64\CDImage_1100_1003a.iso %desktop%\Serverx64\CDImage_1100_1003a\

TIMEOUT /T 3
@echo:
@echo Installing Foo

MD C:\Temp

COPY %desktop%\Serverx64\Setup.iss C:\Temp\ >nul


START /wait %desktop%\Serverx64\CDImage_1100_1003a\setup.exe /s /a /s /sms /f1c:\Temp\setup.iss

DEL C:\Temp\setup.iss
RD C:\Temp

Copy C:\Foo\msvcr71.dll C:\Foo\Support\ >nul
START C:\Foo\Support\Pmtools.exe

最佳答案

修复由 Aschipfl 提供。
在 START 之后放置一个 ""以创建一个空字符串解决了这个问题。如果没有 START 命令后面的字符串,批处理会错误地处理我的文件路径和开关。

关于batch-file - 除非线路单独运行,否则开关无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38019655/

相关文章:

windows - 将正在使用的网卡批量设置为变量

infragistics - 我应该如何在 InstallShield 安装项目中包含 Infragistics 依赖项?

character-encoding - 为什么使用 ExecuteGlobal 导入 .vbs 函数库文件时,VBScript 会显示 "Invalid Character"?

windows - 批处理脚本中没有扩展名的文件名

java - 在 Bea Weblogic 中运行批处理

python - 如何从批处理文件写入 Windows 网络共享?

windows-installer - 如何更新现有 MSI 中的程序集?

installshield - 什么是 Web 4 软件包?我们今天可以用它来建立执行文件吗?

javascript - 脚本 1014 : Invalid character - Quote symbol

objective-c - XML 文件中的奇怪字符(来自用户输入?)