与えられた文字列を含むファイルの行数に基づいて変数を設定したいと思います。以下のような変数をバッチファイルの "Find"の結果に設定する
何か:
set isComplete = 0
%isComplete% = find /c /i "Transfer Complete" "C:\ftp.LOG"
IF %isComplete% > 0 ECHO "Success" ELSE ECHO "Failure"
または:どちらもそれらのオプションの
set isComplete = 0
find /c /i "Transfer Complete" "C:\ftp.LOG" | %isComplete%
IF %isComplete% > 0 ECHO "Success" ELSE ECHO "Failure"
は明らかに、働きます。
ありがとうございました。
これは素晴らしいです。しかし、スペースがあるパスで作業するには、これが必要であると述べていたはずです。引用符は役に立たないようです。ああ。したがって... for/f "tokens = 3" %% f in( 'find/c/i "転送完了" "C:\テストパス\ ftp.LOG"')doComplete = %% f は、isCompleteを "PATH \ FTP.LOG:"に設定します。ここでは、エラーはスペースに起因すると考えられます。 – MattH
パスの前後に引用符を付けるためには、forコマンドの "usebackq"オプションを使用する必要があります。for/f "usebackq tokens = 3" %% f in( 'find/c/i" :\ test path \ ftp.log ")do set isComplete %% f –