Como o questionador descobriu, %ErrorLevel% não está sendo definido. Não sei se a expansão atrasada e !ErrorLevel! funcionariam, mas o que eu descobri foi que findstr está definindo seu valor de retorno, portanto, um dos seguintes scripts funciona: -
for /R apiserver_sdk %%G in (*.go) DO (
rem filter out "test" files
echo %%G | findstr /i test
if errorlevel 1 (
gocyclo %%G >> %tmpfile%
)
)
ou: -
for /R apiserver_sdk %%G in (*.go) DO (
rem filter out "test" files
echo %%G | findstr /i test || (
gocyclo %%G >> %tmpfile%
)
)
Se o comando gocyclo for o único necessário, o grupo de comando em torno dele poderá ser removido.
