%1
- аргумент командной строки, передаваемый в пакетный файл, который в данном случае оказывается пустым.Это означает, что ваш for
синтаксис цикла неверен.Вместо этого используйте другое имя переменной, например% f:
for /r %f in (*.mta) do attrib +h "%f"
Если бы вы использовали свою версию и надели это:
c:\> yourbatch.bat f
, тогда% f расширился бы до 'f ', и вы получите:
for /r f in (*.mta) do attrib +h "f"
, что также будет неверно.