2016-06-24 15 views
1

我的.BAT有一個安裝屏蔽線,出現無效開關時出現錯誤,除非它在單獨的命令提示符下運行。我對這一切都很陌生,我能想到的只是它是一種不同的語法。有沒有辦法讓它與其餘的安裝一樣在同一批中運行?除非線路單獨運行,否則開關無效

這是有問題的行:

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

這樣做了。我昨天開始學習這一切,所以很抱歉如果這是一個愚蠢的問題。爲什麼解決這個問題呢,它是否在START之後以「」方式讀取我的文件路徑,而不是.exe? – ThexTallxDude

+1

'start'認爲它找到的第一組引號是它打開的窗口的標題,而不管這些引號的位置。 – SomethingDark

回答

1

修復被Aschipfl提供。 在START之後放置一個「」來創建一個空字符串可以解決問題。沒有START命令後面的字符串,批處理文件不正確地處理我的文件路徑和開關。

相關問題