Добавьте расширение jpg ко многим файлам
У меня есть папка с большим количеством папок с большим количеством файлов и, возможно, с большим количеством папок, где некоторые файлы потеряли свое расширение. Я считаю, что они все jpgs, но я могу ошибаться. Любые идеи, как повторно добавить расширения для всех этих файлов, не делая это один за другим?
Я могу сделать это на Windows 7 или Ubuntu 8.10.
6 ответов
Я сделал это так
find . -type f -iregex ".*[^\(\.jpg\)]" -exec mv "{}" "{}.jpg" ";"
Вы можете сделать это через cmd на окнах.
переименовать * *.jpg
Редактировать:
Чтобы применить к вложенным папкам, вы можете использовать;
for / r% x в (*) переименовать "%x" *.jpg
Если использование powershell является опцией, то этот пост от SO должен быть именно тем, что вы хотите.
В линуксе
ls | while read file ; do mv $file $file.jpg; done
На винде
Мне нравится использовать Rename4u, которая является бесплатной утилитой.
Для 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
Который будет:
- Распечатать пути, которые являются файлами без суффикса *.jpg (найти),
- Проверьте содержимое этих файлов (файл $ f),
- Для файлов JPEG переименуйте их с суффиксом _.jpg.