2016-06-24 4 views
1

私の.BATには、別のコマンドプロンプトで実行されない限り、無効なスイッチでエラーが発生するInstall Shield行が1つあります。私はこのすべてに慣れていないと思うが、それは違った構文であるからだと思う。これを他のインストールと同じバッチで実行する方法はありますか?回線が別途実行されない限り無効なスイッチ

これは、問題の行です:

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 
+0

'' ''の間にパスを入れ、 '' start'と '/ wait'の間に空の文字列' '"を追加してください... – aschipfl

+0

そうでした。私は昨日これをすべて勉強し始めました。だから愚かな質問だったら申し訳ありません。なぜそれが修正されましたか?.exeではなく、STARTの後に私のファイルパスを ""読み込んでいたのでしょうか? – ThexTallxDude

+1

'start'は、最初に見つかった引用符の集合を、引用符の位置に関係なく、それが開くウィンドウのタイトルと見なします。 – SomethingDark

答えて

1

修正はAschipflによって提供されました。 空の文字列を作成するためにSTARTの後に ""を配置すると、問題が解決されました。 STARTコマンドの後の文字列がないと、バッチは私のファイルパスとスイッチを間違って処理していました。

関連する問題