Ich suche nach einem Skript, Dienstprogramm oder Befehl zum Umbenennen von Dateien eines bestimmten Namensschemas

420
BT50

Ein Beispiel der Dateien, die ich umbenennen muss:

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 

Ich möchte nur den Teil "basic-langcode" beibehalten, weiß aber nicht, wie ich Dateien umbenennen muss, um dieses Ergebnis zu erzielen.

Ich versuche dies auch über eine Methode zu tun, die unter Windows, Linux und MacOS funktioniert, aber das ist eine Bonusanforderung.

-1
Bitte beachten Sie, dass https://superuser.com kein kostenloser Skript- / Code-Schreibservice ist. Wenn Sie uns sagen, was Sie bisher versucht haben (einschließlich der Skripts / des Codes, die Sie bereits verwenden) und wo Sie stecken bleiben, können wir versuchen, bei bestimmten Problemen zu helfen. Sie sollten auch lesen [Wie kann ich eine gute Frage stellen?] (Https://superuser.com/help/how-to-ask). DavidPostill vor 6 Jahren 1

2 Antworten auf die Frage

2
Grey Viper

Haben Sie sich das 'Bulk Rename Utility' angesehen? Ich habe if benutzt, um mehrere Dateien umzubenennen und fand es sehr nützlich und flexibel. Es ist etwas gewöhnungsbedürftig, aber es enthält großartige Anweisungen und ist recht einfach zu bedienen. Versuche es! Es kann hier gefunden werden - http://www.bulkrenameutility.co.uk

Oh! und übrigens .... es ist kostenlos!

+1 Für Windows ist das Bulk Rename Utility ein wirklich tolles Programm. Je nach Bedarf relativ einfach zu bedienen und leistungsstark. Anaksunaman vor 6 Jahren 0
Ich habe das auch seit vielen Jahren verwendet. BRU ist ein Gewinner. JonathanDavidArndt vor 6 Jahren 0
0
Xen2050

In Linux hat das Umbenennungspaket (früher im Perl-Paket enthalten ) ein Skript / ein Hilfsprogramm prename( in Debian ist es der Befehl rename), und als Perl-Skript sollten Sie es in der Lage sein, alles auszuführen. Es kann das tun:

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/' * 

Der einfachste Weg besteht darin, etwas bestimmtes über die Dateinamen herauszufinden, die Sie "löschen" möchten, indem Sie sie zweimal ausführen, um die führenden und nachgestellten Dateien zu löschen. Der harte Weg ist, einen Perlexpr-Treffer wie etwa einen Bindestrich, dann zwei Kleinbuchstaben und dann einen Bindestrich zu finden, optional gefolgt von Zeugs, dann einen weiteren Bindestrich mit zwei Kleinbuchstaben.