1. ホーム
  2. batch-file

[解決済み] 線路が別々でないと無効なスイッチ

2022-02-13 09:23:09

質問

私の.BATには、別のコマンドプロンプトで実行しないと、無効なスイッチ/sでエラーになるInstall Shieldの行が1つあります。このようなことは初めてなのですが、構文が違うからだとしか思えません。これを他のインストールと同じバッチで実行させる方法はあるのでしょうか?

これは、Questionの行です。

    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コマンドの後に文字列がないと、バッチがファイルパスやスイッチを不正に処理していたのです。