commit
This commit is contained in:
41
renamer.pl
41
renamer.pl
@@ -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
34
renamer.py
Executable 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)
|
||||||
|
|
||||||
Reference in New Issue
Block a user