it-swarm-ja.com

forループのifthenステートメント

私はWindowsスクリプティングが好きです。私のスクリプトは、文字列をカウントし、if then elseステートメントでリターンコードをチェックすると、ファイル内の文字列を検索します。しかし、質問があります。この時点で、ステートメントショー[%i]が予期しないものであったかどうかに関するエラーがあります。

@echo off
cd C:\script\
for /f "tokens=3" %%i in ( 'find /C "ANR2034E" checkout.txt' ) do ( echo %%i )
if [/I] [%%i] == [1]  ( echo %%i ) else ( echo No ) )

さらに、ifステートメントをforループに統合できますか?

例:

for %%i in ('command') do ( if [/I] [%%i] == [i] (command) else (command))
2
Gary Chan
@echo off
cd C:\script\
for /f "tokens=3" %%i in ('find /C "ANR2034E" checkout.txt') do (
    echo %%i
    if [%%i]==[1] (
        echo %%i
    ) else (
        echo No
    )
)

エラーは、角括弧内のifの後に/iがあったためです。いずれの場合も、整数のみを返す/iを使用したため、find /c(大文字と小文字を区別しない)は必要ありません。

ご覧のとおり、if条件は間違いなくforループ内に含めることができます。

2
Karan