Nazwy folderów tak jak data

0

Czy da się nazwać automatycznie dużą liczbę plików tak, aby nazwa pliku była taka sama jak data utworzenia?
O co mi chodzi i dokładniej wyjaśnię: odkąd mam telefon Huawei, nie mam problemu ze zdjęciami i filmami, bo są one nazywane właśnie od daty i godziny. To bardzo ułatwia sprawę w wielu kwestiach. Niestety wcześniej Sony numerowało mi zdjęcia od 0000 i później, gdy już zrobiłem ich 9999, to znów od 0000. Generuje to czasami konflikty, chociaż nawet jeśli nie chodzi tak bardzo o konflikty (można nazwać to np. z (2) itd.), to po prostu wygodniej jest, kiedy jest data.
Pytam tylko orientacyjnie.

1

Tak, jednolinkowy skrypt w PowerShellu na przykład, zmieniałem tak nazwy plików z kamerki z DSCN_0000 na 20201020-1231 na przykład.

4

Jak wyżej - da się. Tylko warto mieć na uwadze, że data utworzenia może być taka jak data skopiowania na dysk. Np. na karcie plik leżał rok i został skopiowany na dysk. Wtedy może (ale nie musi) mieć datę z jaką został skopiowany, a nie tę sprzed roku. To zależy od tego jaki system plików jest na obu dyskach. Najczęściej daty kopiują się jak trzeba.

Przykładowy skrypt do zmiany nazw plików tekstowych:

#!/usr/bin/perl
use strict;
use warnings;
use POSIX qw(strftime);

sub getLastModificationDate {
	my $filePath = shift;
	my $lastModifyTime= (stat $filePath)[10];

	return strftime "%Y-%m-%d", localtime($lastModifyTime);
}

my $directoryPath = "files";

opendir (my $dirHandle, $directoryPath) || die "Can't opendir $directoryPath: $!";

for my $fileName (readdir $dirHandle) {
	if ($fileName =~ m/\.txt$/i) {
		my $lastModifyTime = getLastModificationDate "$directoryPath/$fileName";
		rename "$directoryPath/$fileName", "$directoryPath/$lastModifyTime" . "_$fileName";
		print "$directoryPath/$lastModifyTime"."_$fileName\n";
	}

}

closedir $dirHandle;

Rozszerzenia i nazwę katalogu można sparametryzować i używać :)

0

"Przykładowy skrypt do zmiany nazw plików tekstowych:"
To mi akurat chodzi tylko i wyłącznie o zdjęcia, czyli pliki graficzne (ew. filmy).
Pewnie to zbyt trudne dla mnie, aby napisać działający skrypt, ale miło, że się da. ;-)

2

Total Commander, "Narzędzie wielokrotnej zamiany".

1 użytkowników online, w tym zalogowanych: 0, gości: 1