Я ищу скрипт, утилиту или команду для пакетного переименования файлов определенной схемы именования

297
BT50

Пример файлов, которые мне нужно переименовать:

microsoft-windows-languagefeatures-basic-bs-latn-ba-package_100e5dc9f1eb0cc3f9ef59c60dd24543827a6c48.cab microsoft-windows-languagefeatures-basic-bn-in-package_679f41a31fa39e91da733edba47cc8e3cd8013d4.cab microsoft-windows-languagefeatures-basic-bn-bd-package_81a64b49f357d8eef17d8797ddba200c04c9805e.cab microsoft-windows-languagefeatures-basic-bg-bg-package_59a6ca257ed175d72efc6718f153837fb48d1890.cab microsoft-windows-languagefeatures-basic-az-latn-az-package_943c512fe9e0917c6116d4f81a764f0144d8a67f.cab microsoft-windows-languagefeatures-basic-as-in-package_e8363efa6389494eedc61f26057ab333d8c11a55.cab microsoft-windows-languagefeatures-basic-ar-sa-package_fc97e593423319e11b7521f8076a5de21348e831.cab microsoft-windows-languagefeatures-basic-af-za-package_b498b23dfb0271d34850f331fdaeffacf3d97ed5.cab microsoft-windows-languagefeatures-basic-de-de-package_34de150bd496f5e06b7c9eee2227650c54b11a27.cab microsoft-windows-languagefeatures-basic-da-dk-package_31a2dd00b08c9d7cdaba85c5c60777eaa75166bf.cab microsoft-windows-languagefeatures-basic-cy-gb-package_065ebd6f0adcc91feb98e943b4599cc6b656ed05.cab microsoft-windows-languagefeatures-basic-cs-cz-package_2eac7ee66be70c97d357ca70101e0c93af2387f1.cab microsoft-windows-languagefeatures-basic-ca-es-package_437de767fb26329de81b3a92cd95e970a6d1e451.cab 

Я только хочу сохранить часть «basic-langcode», но я не знаю, как пакетно переименовывать файлы для достижения этого результата.

Также я собираюсь сделать это с помощью метода, который работает в Windows, Linux и MacOS, но это является дополнительным требованием.

-1
Обратите внимание, что https://superuser.com не является бесплатным сервисом для написания скриптов / кодов. Если вы сообщите нам, что вы уже пробовали (включая скрипты / код, который вы уже используете) и где вы застряли, мы можем попытаться помочь с конкретными проблемами. Вам также следует прочитать [Как мне задать хороший вопрос?] (Https://superuser.com/help/how-to-ask). DavidPostill 6 лет назад 1

2 ответа на вопрос

2
Grey Viper

Вы смотрели на «Bulk Rename Utility»? Я использовал if для переименования нескольких файлов и нашел это очень полезным и гибким. Требуется немного привыкнуть, но он поставляется с хорошими инструкциями и достаточно прост в использовании. Попробуйте! Его можно найти здесь - http://www.bulkrenameutility.co.uk

Ой! и кстати .... это бесплатно!

+1 Для Windows Bulk Rename Utility - действительно отличная программа. Относительно прост в использовании и мощный, в зависимости от потребностей. Anaksunaman 6 лет назад 0
Я тоже использовал это много лет. БРУ - победитель. JonathanDavidArndt 6 лет назад 0
0
Xen2050

В Linux пакет переименования (он был в пакете Perl ) имеет скрипт / утилиту, называемую prename( в Debian это команда rename), и, будучи сценарием perl, вы должны иметь возможность запускать его на чем угодно. Это может сделать это:

NAME rename - renames multiple files  SYNOPSIS rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]  DESCRIPTION "rename" renames the filenames supplied according to the rule specified as the first argument. The perlexpr argument is a Perl expression which is expected to modify the $_ string in Perl for at least some of the filenames specified. If a given filename is not modified by the expression, it will not be renamed. If no filenames are given on the command line, filenames will be read via standard input.  For example, to rename all files matching "*.bak" to strip the extension, you might say  rename 's/\.bak$//' *.bak  To translate uppercase names to lower, you'd use  rename 'y/A-Z/a-z/' * 

Самый простой способ - найти что-то конкретное в именах файлов, которые вы хотите «стереть», возможно, запустив его дважды, чтобы стереть начальные и конечные элементы. Сложный способ - найти соответствие perlexpr, например, тире, затем две строчные буквы, затем тире, затем, если нужно, материал, затем еще одну тире, две строчные буквы, тире и переименовать его в соответствии с совпадением.

Похожие вопросы