Я пытаюсь переименовать некоторые файлы, но продолжаю получать ошибки. Это то, что я выполняю как одну командную строку в командной строке Windows:
for /f %file in ('dir test*.tif') do (mv "$file" "${file:0:9}_${file:9}" )
Это ошибка, которую я получаю:
%file was unexpected at this time.
Я погуглил это и все Я могу обнаружить, что люди используют только один знак %
в пакетных файлах или два знака %%
в командной строке. Но я в командной строке и использую только один знак%. Даже следующее все равно дает мне ту же ошибку:
for /f %file in * do (echo 1 )
Обновление:
Не бери в голову. Я обычно пытаюсь найти какое-то «автоматизированное» решение даже для мелких вещей, но я потратил около трех часов, пытаясь выяснить это, и, наконец, просто переименовал 100+ файлов вручную. Прошло около 10 минут. Я продвинулся немного дальше, используя это
for %f in (dir *) do (rename "%f" %f:0,9_"%f:~9%")
. Это печатает «% f» правильно, но затем вместо извлечения символов с «% f: 0,9» просто печатает имя файла и добавляет: 0, 9 как текст. Я перепробовал кучу вариантов, но ничего не помогло.