2016-08-19 5 views
1

は、私が「もし」と「そうでない場合は」文でユーザ入力変数を使用してバッチスクリプトを作っています。シンプル?はい。しかし、 "If"と "If not"ステートメントはユーザー入力変数にスペースを必要とし、ユーザー入力変数にスペースを入力すると多くの問題が発生します。バッチで "If"と "If not"ステートメントのユーザー入力変数のスペースを使用する方法は?

は、私は、コードにかなり新しいですが、ここで私のスクリプトがあります覚えておいてください。

@echo off 
:B 
echo Enter password: 
set /p password= 
if %password% == Password WithASpace goto :A 
if not %password% == Password WithASpace goto :C 
:C 
echo Incorrect password 
cls 
goto :B 
:A 
echo Correct password, unlocking secret FBI database. 
pause 

IfとIf Not文の "Password WithASpace"テキストの前後に引用符を入れてみました。それはどちらもうまくいかなかった。コマンドプロンプトに「Password WithASpace」と表示されたら、この時点では予期せず、すぐに終了します。

@echo off 
:B 
echo Enter password: 
set /p password= 
if %password% == Password WithASpace goto :A 
if not %password% == Password WithASpace goto :C 
:C 
echo Incorrect password 
cls 
goto :B 
:A 
echo Correct password, unlocking secret FBI database. 
pause 

どうすればこの問題を解決できますか?

+1

可能な複製(http://stackoverflow.com/questions/25598573/how-to-use-spaces-in-if [ "IF" にスペースを使用するには?] ) – aschipfl

答えて

0

私は引用符はあなたのために動作しなかった理由はわかりません。 これは私の作品:

@echo off 
:B 
echo Enter password: 
set /p password= 
if "%password%" == "Password WithASpace" goto :A 
if not "%password%" == "Password WithASpace" goto :C 
:C 
echo Incorrect password 
cls 
goto :B 
:A 
echo Correct password, unlocking secret FBI database. 
pause 
+0

%パスワードの前後に引用符を追加するのを忘れてしまったと思います。 –

関連する問題