Как массово переименовать пронумерованные файлы? [Дубликат]

6

На этот вопрос уже есть ответ здесь:

У меня есть две папки в Windows 8.1. Первая папка aсодержит 50 .jpgфайлов, пронумерованных 01.jpgдо 50.jpg. Моя вторая папка bимеет одинаковое количество .jpgфайлов, названных точно таким же образом.

Моя цель состоит в том, чтобы объединить эти две папки, но переименовывать файлы b 51.jpgдо , 100.jpgтак что они остаются в том же порядке.

Максимум
источник
3
Не могли бы вы добавить подробности о том, какую операционную систему вы используете в этом вопросе?
JakeGould
Этот вопрос на SoftwareRecs.SE является актуальным. Там могут помочь ответы: softwarerecs.stackexchange.com/q/11389/6834
Tymric

Ответы:

13
  1. Выберите все файлы из папки. Переименование первого файла из выбора, так как нумерация произойдет самостоятельно.
  2. Аналогично переименуйте папку b в b-
  3. Затем переместите файлы из папки b в папку a. (Если у вас есть сортировка по имени)
  4. Снова переименуйте файлы как img.
    У вас будет нумерация как img-1 .....
Никитеш Колпе
источник
1
Не имеет значения, какой файл будет первым переименован, поэтому было бы неплохо поручить переименовать первый файл в выборке, учитывая, что он отсортирован.
Луи
-1 потому что это просто решение сделать это вручную, что, по моему мнению, не имеет никакого отношения к суперпользователю ...
Оливер Фридрих
@BeowulfOF Вероятно, вы могли бы использовать голосовую команду, чтобы немного «автоматизировать» ее. Это может быть немного громоздко, но все же выполняет свою работу, и это, вероятно, самое простое / быстрое решение, которое не требует какой-либо конкретной или дополнительной настройки.
Марио
2
@BeowulfOF Ввод нового имени происходит один раз ... Другие выбранные файлы будут автоматически обновляться. На самом деле это намного быстрее (в основном работа с мышью) и безопаснее (поддерживается кнопкой отмены) для многих, чем редактирование и запуск скрипта.
Луи
1
Я понятия не имел, что какой-либо файловый браузер с графическим интерфейсом имеет многофайловое переименование с помощью семантики выбора, подобной этой. Придется попробовать это в некоторых GNU / Linux. (или просто продолжайте использовать, prename s/foo/bar/ *.jpgчтобы бросать регулярные выражения Perl в моих проблемах с переименованием файлов. :)
Peter Cordes
13

Windows 8.1 имеет встроенную PowerShell, поэтому вы можете использовать что-то вроде этого:

1..50|Rename-Item -Path {'{0:00}.jpg'-f$_} -NewName {'{0:00}.jpg'-f($_+50)}

В приведенном выше примере первый параметр 0in {0:00}указывает индекс параметра, а второй 00- формат в виде двух цифр, дополненных нулями.

PetSerAl
источник
3

Настоятельно рекомендую IrfanView. У этого есть самая удивительная настройка для массового переименования файлов.

Более подробная информация здесь: http://www.irfanview.com/faq.htm#Q13

PSAM
источник
3

Это, вероятно, лучше спросить на SoftwareRecommendations.SE , но я скажу, что я использовал бесплатную утилиту массового переименования во многих случаях и нашел ее очень полезной, простой в использовании и чрезвычайно мощной.

Скриншот утилиты Bulk Rename

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

(Я никоим образом не связан с автором)

Keavon
источник
+1 за это. Это также мой инструмент для массового переименования. Прелесть этого инструмента в том, что сначала можно «просмотреть» результат, а панель списка файлов позволяет легко переименовывать «все файлы, кроме одного / N»: Ctrl-A, а затем просто Ctrl-Click, чтобы отменить выбор тех, которые вы не хотите переименовывать. ,
pepoluan
+1 для информирования меня о softwarerecs.stackexchange.com . Я понятия не имел, что существует.
Фекмор
2

Это старый и, возможно, слишком сложный, но в CMD.exe вы можете решить это следующим образом:

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION

SET COUNTER=1
FOR %%A IN ("a","b") DO (
    SET FOLDER=%%A
    FOR /F %%F IN ('DIR /B /ON !FOLDER!') DO (
        SET FILE=%%F
        COPY !FOLDER!\%%F c\!COUNTER!!FILE:~-4!
        SET /A COUNTER= !COUNTER! + 1
    )
)  
Оливер Фридрих
источник
0

Как и в случае с Niki выше, используйте DOS или утилиту CMD.

В DOS C:\FolderA> (переместить в папку с файлами A)
Переименовать все файлы за один раз REN \*.jpg A-\*.jpg

перейдите в папку B с помощью CD - смените каталог
Переименуйте все файлы за один раз REN \*.jpg B-\*.jpg

Затем скопируйте b-файлы в папку A.
Copy B\*.jpg c:\FolderA\

Ричард
источник
0

Я бы порекомендовал http://www.advancedrenamer.com/ в качестве альтернативного «простого нажатия». Я на самом деле использую его все время для пакетного переименования, где мне нужен определенный шаблон, или мне нужно удалить глупости из растерянных имен других людей ;-)

NateJ
источник