2016-11-02 17 views
1

コンピュータ名が特定の名前であるかどうかを確認するバッチファイルを作成しようとしていますが、一致する場合はexeファイルが実行されます。バッチファイルで構文エラーが発生する

@echo off 

echo adidas shoe cop bot console... 
echo by sam 
pause 

echo checking for computer name... 

If %computername%=="DESKTOP-HQPDA76" 
    then echo %computername% found 
    echo user confirmed 
    echo starting file 
    pause 
    start /B "" "C:\Users\Sam Marriott\Desktop\Adidas Shoe Cop Bot\Package\Adidas Shoe Cop Bot\bin\Debug\Adidas Shoe Cop Bot.exe" 
    pause 
Else NOT %computername%=="DESKTOP-HQPDA76" 
    then echo user access denied 
    pause 

私は(何か)に関するいくつかのエラーを取得していますここでは予想されなかった、または構文エラーが、コマンドプロンプトがあまりにも早く閉じているので、私は実際にそれを読み取ることができません。どんな助け?

+3

このコマンドのドキュメントを読んだ場合に役立ちます。 cmdプロンプトを開き、次のように入力します: 'if /?' – Squashman

+2

はデバッグ用にダブルクリックごとに実行しません。 'cmd'ウィンドウを開き、そこから手動で実行します。したがって、エラーが発生するとウィンドウは開いたままになります。 – Stephan

+0

この質問はC#と何が関係していましたか? – Squashman

答えて

0

IF文の構文が間違っています。これを試してみてください:

@echo off 

echo adidas shoe cop bot console... 
echo by sam 
pause 

echo checking for computer name... 

if "%computername%"=="DESKTOP-HQPDA76" (
    echo %computername% found 
    echo user confirmed 
    echo starting file 
    pause 
    start /B "" "C:\Users\Sam Marriott\Desktop\Adidas Shoe Cop Bot\Package\Adidas Shoe Cop Bot\bin\Debug\Adidas Shoe Cop Bot.exe" 
    pause 
) else (
    echo user access denied 
    pause 
) 
+1

余分な「IF」比較は必要ありません。コンピュータ名が等しくない場合、elseはすでに実行されます。 – Squashman

+0

良い点が削除されました。 – Equalsk

+0

ありがとうございます。 –

関連する問題