0

ユーザー入力がxy.txtに存在するかどうかを確認するバッチファイルを作成しようとしていますが、それは簡単です

    @echo off 
    set /p input=" "

    findstr /c:"%word%" xy.txt > NUL
    if ERRORLEVEL 1 goto notexist
    if ERRORLEVEL 2 goto exist

    :exist
    echo user input does exist 
    pause > nul
    exit

    :notexist
    echo user input does not exist 
    pause > nul\

しかし、ユーザー入力が「hello world」の場合、各単語を個別にチェックしたいと思います。

私はこれを試しましたが、良くありません...そして単語が存在しない場合は保存します

    @setlocal enableextensions enabledelayedexpansion
    @echo off

    :start
    set /p word=" "

    for /F "tokens=* delims= " %%A in ("%word%") do set A=%%A & set B=%%B 


    if %A%=="" goto Anovalue
    if not %A%=="" goto checkforA

    :Anovalue
    echo first word has no value
    pause

    if %B%=="" goto Bnovalue
    if not %A%=="" goto checkforB

   :Bnovalue
   echo second word has no value
   pause
   goto start

   :checkforA
   findstr /c:"%A%" xy.txt > NUL
   if ERRORLEVEL 1 goto notexistA
   if ERRORLEVEL 2 goto existA

   :checkforB
   findstr /c:"%B%" xy.txt > NUL
   if ERRORLEVEL 1 goto notexistB
   if ERRORLEVEL 2 goto existB

  :existA
  echo first word does exist in xy.txt
  pause
  goto checkforB

  :existB
  echo second word does exist in xy.txt
  pause
  goto start

  :notexistA
  echo first word does not exist in xy.txt
  pause
  (echo %A%) >>xy.txt
  goto checkforB

  :notexistB
  echo second word does not exist in xy.txt
  pause
  (echo %B%) >>xy.txt
   goto start\

もっと簡単でスマートな方法でそれを行うことはできませんか?

4

1 に答える 1