2016-10-20 5 views
0

ソフトウェアをインストールするためにバッチファイルを作成していますが、まずシステムが32ビットか64ビットかを知り、適切なインストールに進む必要があります。これまでのところ、私のコードは次のようになっています。BATCHファイルを書き出すときにEXISTが動作しない場合

IF EXIST C:\Program File(x86) (
GOTO 64bit_install 
) ELSE (
GOTO 32bit_install) 

私がインストールしようとしているシステムに関係なく、常に64ビットのインストールになります。私は、32ビットVMと64ビットVMの両方でスクリプトをテストしました。私がGOTOステートメントを交換すると、最初のGOTO XXbit_installに行くだけです。それはELSEステートメントを無視しています。助けてください!

+0

ファイル名またはパスを二重引用符で囲む必要があります。 – Squashman

答えて

0

スペースを含むファイル名とパスを二重引用符で囲む必要があります。また、ディレクトリ名のスペルも間違っています。

IF EXIST "C:\Program Files (x86)" (
GOTO 64bit_install 
) ELSE (
GOTO 32bit_install) 
+0

ありがとうございました!私はバッチファイルには新しく、構文が私をエスケープします。 – flyingtam

+0

@flyingtam質問を閉じるには、上記のように答えてください(投票ボタンの下にあるチェックボックスを押してください)。 – geisterfurz007

0

もう1つ回答がありました。私はIF EXISTを探していました.BATCHなどでOSをチェックしていたはずです。

IF EXIST "%PROGRAMFILES(X86)%" (GOTO 64bit_Install) ELSE (GOTO 32bit_Install) 
+0

あなたは 'IF DEFINED ProgramFiles(x86)....'を実行することもできます – Squashman

関連する問題