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