4

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

Я могу сделать это на Windows 7 или Ubuntu 8.10.

6 ответов6

7

Вы можете сделать это через cmd на окнах.

переименовать * * .jpg


Редактировать:
Чтобы применить к вложенным папкам, вы можете использовать;

for /r% x в (*) переименовать "% x" * .jpg

3

Я сделал это так

find . -type f -iregex ".*[^\(\.jpg\)]" -exec mv "{}" "{}.jpg" ";"
2

Если использование powershell является опцией, то этот пост от SO должен быть именно тем, что вы хотите.

1

В линуксе

ls | while read file ; do mv $file $file.jpg; done

На винде

Мне нравится использовать Rename4u, которая является бесплатной утилитой.

0

Расширение Renamer делает свою работу.

0

Для Linux (или MSWindows с CygWin)

Если вы хотите добавить суффикс только к файлам, которые на самом деле являются JPEG, попробуйте это:

$ find . -type f  ! -name '*.jpg'  -print | while read f
> do case "$(file "$f")" in
>    *JPEG*) mv -iv "$f" "$f.jpg" ;;
>    esac
> done

Который будет:

  1. Распечатать пути к файлам без суффикса * .jpg (найти),
  2. Проверьте содержимое этих файлов (файл $ f),
  3. Для файлов JPEG переименуйте их с суффиксом _ .jpg .

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