7

У меня проблема с именами файлов. Глупая камера, которую я использую, очень часто сбрасывает последовательность автонумерации, и поэтому я получаю тонны конфликтов, если пытаюсь поместить много фотографий в один файл.

Я знаю, что есть способ переименовать их во что-то вроде следующего:

1.jpg, 2.jpg, 3.jpg. , , 2000.jpg и т.д ...

К сожалению, я принадлежу к тому поколению, которое никогда не использовало DOS задолго до того, как Windows выпустила все свои фальшивые трюки. Я пытался найти приложение, чтобы сделать это, но они довольно жалкие, поэтому я хочу просто сделать это в Windows .cmd или просто в .bat (именно там я нашел приличный контроль над файлами). Кто-нибудь может мне помочь с кодом?

8 ответов8

12

Следующий пакетный файл делает то, что вы хотите:

@echo off
setlocal EnableDelayedExpansion
set i=0
for %%a in (*.jpg) do (
    set /a i+=1
    ren "%%a" "!i!.new"
)
ren *.new *.jpg

Сначала файлы переименовываются с расширением .new чтобы избежать конфликтов с обрабатываемыми файлами, а затем в конце переименовываются обратно в .jpg .

3

Я люблю командную строку с середины 80-х, но должен признать, что это одна из областей, где я всегда полагаюсь на Rename-It! Я знаю, что вы хотите DOS, но я оставлю это на тот случай, если кто-то споткнется, не услышав об этом.

В периоды, когда мне требовался максимальный контроль над отдельными файлами (обычно в группах), я использовал электронную таблицу для создания командного файла. В этом случае я использую DIR/B для сбора имен файлов в текстовый файл, вставляю их в один столбец, собираю команду переименования в последний столбец (в данном случае D), а затем вставляю этот столбец в.BAT файл и запустить его.

3

Вы можете использовать ReNamer и определить любые логические правила, которые вы хотите. Удалить, заменить, очистить, регулярное выражение, вставить метатеги, даже сценарий из вашего собственного правила.

Ниже приведен пример правил переименования последовательностей изображений с цифровой камеры:

  1. Удалить: Удалить из позиции 1 до конца (пропустить расширение)
  2. Вставить: вставить "Новое имя" в качестве суффикса (пропустить расширение)
  3. Сериализация: Сериализация Инкрементальная от 1 шага 1, повтор 1 и заполнение до длины 3 в качестве суффикса (пропустить расширение)

1

Это будет делать то, что вы хотите из командной строки, используя командный файл:

@echo off
SET COUNT=1
SET PREFIX=Photos
FOR /f "tokens=*" %%G IN ('dir /b *.jpg') DO (call :renum "%%G")
GOTO :eof

:renum
 ren %1 %PREFIX%_%count%.jpg
 set /a count+=1
 GOTO :eof

На основе некоторого примера кода на SS4.

0

На самом деле это не вопрос программирования, а, скорее, то, что можно решить с помощью простого интерфейса Windows. Насколько я знаю, это работает только в Windows 7, но если вы выберете несколько файлов и нажмете F2 или щелкните правой кнопкой мыши -> переименовать, вы можете переименовать первый, а остальные получат то же имя , с (1), (2), (3) и т. д. добавлены к нему. Расширения файлов остаются без изменений.

0

Если ваша камера помечает фотографии информацией (часто EXIF-метками), а часы вашей камеры, по крайней мере, почти точны, вы можете использовать любую из различных утилит переименования файлов, чтобы использовать эти данные для переименования (и сортировки по папкам, если вы захотите). как) ваши фотографии по их временным меткам.

exiv2 - это утилита командной строки, которая может выполнять эту работу, а ReNamer от den4b - это утилита с графическим интерфейсом, которая также будет выполнять эту работу. ReNamer - переименователь общего назначения, он не относится к фотографиям. exiv2 - это, прежде всего, инструмент для манипуляции с фото тегами, который также выполняет переименование.

0

Это приложение с графическим интерфейсом будет последовательно переименовывать файлы 01,02,03 или 0102,0103,0104. Это очень старый, я не мог найти авторов сайта больше.

http://www.mediafire.com/?71797x4vuv1u6mo (156k, zip, 300k, одно исполняемое портативное приложение, называемое renmfl.exe)

Я использую это, чтобы переименовать много файлов для последовательности в порядке. Он загрузит отсортированные как выбранные, затем поместит простую последовательную нумерацию в загруженные файлы (используйте CTRL A при выборе всей папки, чтобы все файлы были в порядке). Это также начнется с определенного номера.

Длина всех имен файлов (количество файлов за раз)ограничена из-за способа загрузки файлов. Это не позволит вручную обращаться к файлам до нумерации (только в алфавитном порядке). Вы также можете поставить метку, но я никогда не использовал эту функцию. YoSemiPic401, YoSemiPic402, YoSemiPic403. так далее

Это только один тип переименования, но для этого типа он делает это хорошо, он оставляет расширения как есть, я использую другую программу для этого.


"Превосходный пакетный переименователь", который примерно в 10 раз сложнее, будет делать последовательные добавления нумерации в разделе "Приложения", или случайным образом, или обо всем, что вы можете придумать.

http://www.mediafire.com/?vxgmac394cx03te (350k Zip 666k, переносимый исполняемый файл, электронная почта)

Чтобы установить в нем последовательность, нажмите F2, чтобы перейти в расширенный режим, выберите [x] Добавить, чтобы включить его, В поле ввода текста добавления. Щелкните правой кнопкой мыши, там есть множество вещей, которые вы можете добавить. Одним из них является отсортированный номер.

-1

Не вопрос программирования.

Используйте команду REN .

http://ss64.com/nt/ren.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .