Ошибка происходит в этом блоке кода
if "%myPartLine%" == "MD5 hash" (
call set myPartLine=%myParam:~12%
exit /b
)
Ошибка возникает, когда значение переменной myParam равно:
MD5 hash of z:\Church\Messages\Emails\19981112-The Stranger- You got to read this.... (fwd)-10314679.html:
Эта строка:
call set myPartLine=%myParam:~12%
расширяется до
call set myPartLine=z:\Church\Messages\Emails\19981112-The Stranger- You got to read this.... (fwd)-10314679.html:
)
в (fwd)
преждевременно закрывает ваш блок IF, и анализатор видит -10314679.html:
как ошибку.
Вы можете предотвратить этоошибка, заключив ваше назначение в круглые скобки следующим образом:
call set "myPartLine=%myParam:~12%"
)
будет заключен в кавычки, поэтому он не закроет заключенный в скобки блок
Но ваш код - горячий беспорядок, которыйдействительно должен быть полностью переработан (переписан).Очевидно, что вы выбрали фрагменты методов пакетного кодирования, не понимая, что они делают, как и когда и когда их применять.Например:
- Включение отложенного расширения без его использования
- Использование CALL без необходимости / ненадлежащим образом
У меня есть идеи, как более аккуратно реализовать вашелогика существующего кода.Но я не уверен, что ваша логика на самом деле то, что вы хотите, поэтому я неохотно делаю попытку очистки вашего кода.