-1

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

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, но это является дополнительным требованием.

2 ответа2

2

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

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

0

В 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, например, тире, затем две строчные буквы, затем тире, затем, если нужно, материал, затем еще одну тире, две строчные буквы, тире и переименовать его в соответствии с совпадением.

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