1
This commit is contained in:
2022-02-18 19:15:13 +03:00
parent a545e8318b
commit 0b006b426d
2 changed files with 34 additions and 41 deletions

View File

@@ -1,41 +0,0 @@
#!/usr/bin/perl
# vi: set tabstop=4 shiftwidth=4 expandtab : #
# version: 2.20200726
use strict;
use warnings;
my @files = <*>;
my %new_files;
foreach my $file (@files) {
if ($file =~ m#\.(jpe?g|png|gif)$#) {
my ($file_mtime) = (stat($file))[9];
my $new_file = "$file_mtime";
my $suffix = 1;
while (exists $new_files{$new_file}) {
$new_file = "$file_mtime-$suffix";
$suffix = $suffix + 1;
}
$new_files{$new_file} = $file;
}
}
my @sorted_keys = sort(keys(%new_files));
my $cc = 0;
foreach my $key (@sorted_keys) {
my $file = $new_files{$key};
$file =~ m#\.(.+)$#;
my $ext = $1;
my $new_file = "$key.$ext";
if (not ($new_file eq $file)) {
print "$file -> $new_file\n";
rename($file, $new_file) || die "Can't rename file '$file'! Cause: $!";
$cc = $cc + 1;
}
}
print "-------------------\n";
print "rename $cc files\n";

34
renamer.py Executable file
View File

@@ -0,0 +1,34 @@
#!/usr/bin/python3
# vi: set tabstop=4 shiftwidth=4 expandtab : #
# version: 3.20220218
import re
import os
pattern = re.compile('^\d{10}$')
unique_names = set()
list_files = sorted(os.listdir(path = '.'))
for filename in list_files:
if not os.path.isfile(filename):
continue
(original_name, ext) = os.path.splitext(filename)
if not (ext in ['.jpg', '.jpeg', '.jfif', '.png', '.gif', '.webp', '.mp4', '.MP4', '.webm']):
continue
if pattern.match(original_name) != None:
unique_names.add(original_name)
continue
file_mtime = int(os.stat(filename).st_mtime)
new_name = file_mtime
suffix = 1
while new_name in unique_names:
new_name = '%s-%d' % (file_mtime, suffix)
suffix = suffix + 1
unique_names.add(new_name)
full_new_name = '%s%s' % (new_name, ext)
print('%s -> %s' % (filename, full_new_name))
os.rename(filename, full_new_name)