困っている事

与えられた文字列がfoo\barに合致していれば、result=1として、合致していなければ、result=0としたいです。
しかし、結果がすべてresult=0になってしまいます。

想定している結果(例)

foo\bar\foo -> result = 1
foo\bar\hoge\hoge -> result =1
bar\foo\foo -> result = 0
foo\foo\foo -> result = 0
hoge\hoge -> result = 0

環境

  • windows 7

バッチファイル

@echo off
set FILE_PATH_TXT=%1
setlocal ENABLEDELAYEDEXPANSION
for /f %%a in (%FILE_PATH_TXT%) do (
    call :startWithSrcPkgDir %%a
    echo !result!
)
endlocal

:startWithSrcPkgDir
echo !%1! > nul findstr /rx ^foo\\bar.* && set result=1 || set result=0
exit /b

※ %FILE_PATH_TXT% には、c:\hoge\hoge.txtのようなテキストファイルが渡されます。
※ テキストファイルの中身は

foo\bar\foo
foo\bar\hoge\hoge
bar\foo\foo
foo\foo\foo
hoge\hoge

のような形になっています。

参考サイト