рекурсивно добавьте расширение файла ко всем файлам

Даже при запуске исполняемого файла вне Visual Studio можно все еще использовать команду "Attach" для соединения Visual Studio с уже рабочим исполняемым файлом. Это может быть полезно, например, когда Ваше приложение запущено как плагин в рамках другого приложения.

103
задан robjmills 19 April 2010 в 21:03
поделиться

5 ответов

Альтернатива команда без явного цикла ( man find ):

find . -type f -exec mv '{}' '{}'.jpg \;

Объяснение: это рекурсивно находит все файлы ( -тип f ), начиная с текущего каталога (. ) и применяет команду перемещения ( mv ) к каждому из них. Обратите внимание на кавычки вокруг {} , чтобы имена файлов с пробелами (и даже новые строки ...) обрабатывались правильно.

218
ответ дан 24 November 2019 в 04:15
поделиться

Это немного поздно, но я подумал, что могу добавить, что лучшее решение (хотя, возможно, менее читабельное), чем те, что были до сих пор:

find /path -type f -not -name "*.*" -print0 | xargs -0 rename 's/(.)$/$1.jpg/'

Использование find | Шаблон xargs обычно приводит к более эффективному выполнению, так как вам не нужно создавать новый процесс для каждого файла.

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

9
ответ дан 24 November 2019 в 04:15
поделиться

это найдет файлы без расширения и добавит ваш .jpg

find /path -type f -not -name "*.*" -exec mv "{}" "{}".jpg \;
60
ответ дан 24 November 2019 в 04:15
поделиться

вот так,

for f in $(find . -type f); do mv $f ${f}.jpg; done

Я не ожидаю, что у вас будут имена файлов, разделенных пробелами,
Если вы это сделаете, имена нужно будет немного обработать.

Если вы хотите выполнить команду из другого каталога,
вы можете заменить find. на find /target/directory[1140498 visible.

4
ответ дан 24 November 2019 в 04:15
поделиться

переименовать

не уверен, что он может переименовывать файлы без расширений (сейчас я использую Windows 7)

0
ответ дан 24 November 2019 в 04:15
поделиться