0

基本的に、アクションを実行するためにバッチファイルが正確な答えを必要としないようにする方法はありますか。例えば:

if %c%=images goto :images

上記は、正確な単語を入力する必要があることを意味し、imagesさらに単語を追加すると、:imagesラベルに移動しません。入力した文の単語だけを使用してラベルに移動するにはどうすればよいでしょうか。
たとえば、次のように尋ねられた場合:

Where would you like to go?

そして、私が言います:

The image section please.

それから、言うまでもなく画像セクションに移動しますimage

これは可能ですか?

4

2 に答える 2

2

ここに同様の質問があります: バッチファイル:部分文字列が文字列内にあるかどうかを検索します(ファイル内ではありません)

受け入れられた答えはあなたの場合にうまくいくかもしれません:

if /i "%c:image=%" neq "%c%" goto images

この手法では、文字列置換を使用して単語imageを何も置換せず (検索している文字列から単語を削除)、元の文字列と比較します。それらが異なる場合、部分文字列が見つかりました。

于 2013-03-20T17:38:08.230 に答える
2

を使用できますfind

echo %c% | find /i "image" >NUL && goto images

これにより、大文字と小文字を区別しない一致も提供されます。さらに、findstr一致の微調整が必​​要な場合は、同様に正規表現に基づいて一致させることができます。

|および&&上記の機能がどのように機能するかについて興味がある場合は、詳細についてコマンドのリダイレクトを参照してください。

于 2013-03-20T17:34:48.053 に答える