2017-05-02 12 views
3

私のコードでは、文字列内の各文字をループしています。キャラクターがスペースかどうかをテストする必要があります。変数が空白と等しい場合のバッチテスト

if %str% == " " (
    ::echo Empty 
    echo | set /p=%space% 
    goto loopEnd 
) 

私も試してみました:どちらがエラー

(was unexpected at this time. 

それとも

] was unexpected at this time. 
与える

if [%str%] == [" "] (
    ::echo Empty 
    echo | set /p=%space% 
    goto loopEnd 
) 

この

は私のコードです

文字や数字のテストでエラーが発生しません。私は間違って何をしていますか?

おかげで、

ザック

+0

ブロック内にコメントを配置するために、ダブルコロン '::'(常に 'rem'を使用)を使用しないでください。 '::'構文は空のラベルとして扱われ、奇妙な振る舞いや多くの構文エラーを引き起こします。 [jebの答えを見る](http://stackoverflow.com/questions/12407800/which-comment-style-should-i-use-in-batch-files/12408045#12408045)また[Comments](http:// www.robvanderwoude.com/comments.php) – elzooilogico

答えて

2

はあなたの変数の前後に引用符を入れてみてください。

if "%str%" == " " (
    ... 
) 
+0

これは、ありがとうございます!変数を空白文字に設定するにはどうすればよいですか?私がするとき スペースを設定する= 私は何も取得しないと、私はスペースを設定する= ""私は "得る" – BaleineBleue

+1

@ ZachMozelこれは動作するようだ: 'set" space = "' –

関連する問題