Пакетный скрипт для циклов останавливается при возникновении ошибки - PullRequest
2 голосов
/ 27 января 2020

У меня есть фрагмент командного сценария, который должен перебирать все файлы в папке и отправлять их в API с помощью curl. Проблема, с которой я сталкиваюсь, заключается в том, что во время итерации один файл выдает некоторую ошибку во время операции curl, поскольку l oop останавливается (остальные файлы не будут скручиваться (если это техническое слово). Мне нужен способ, где если операция curl над файлом не выполняется , для l oop продолжается с другими файлами Ниже приведен код, который я использую-

for /R "%SourceDirectory%" %%I in (*.csv) do (
    curl --data-binary @%%~fI  -H "Content-Type: text/csv" -H "Authorization: Bearer "%secrettoken%"""" %myAPI% >> "%LogFilePath%"
)

1 Ответ

0 голосов
/ 27 января 2020

Используйте for /f + where /r вместо for /r

@echo off && for /f tokens^=* %%I in (%__APPDIR__%where.exe /r "%SourceDirectory%" *.csv')do >>"%LogFilePath%" (
curl --data-binary @"%%~I" -H "Content-Type: text/csv" -H "Authorization: Bearer" "%secrettoken%" "%myAPI%" )
...