Попробуйте:
for /F "tokens=*" %%i in ("%attributes%") do set var=%%i
Переменные цикла for требуют %% вместо% при запуске в пакетном файле.Но из командной строки% работает просто отлично.
Если вам нужна дополнительная помощь с пакетными файлами, вам следует проверить страницы Роба ван дер Вуде по сценариям пакетных файлов .Это очень богатый ресурс по языку, поиск которого становится все труднее.
Говоря об этом, я вынужден упомянуть, что сценарии Powershell во многом заменили сценарии пакетных файлов DOS (и не без причины).Почти все, что вы можете сделать в пакетном файле DOS, теперь вы можете сделать проще в скрипте Powershell.Определенно стоит проверить, планируете ли вы делать больше сценариев на основе Windows.