Szukam sposobu w systemie Windows, aby wyświetlić listę wszystkich plików w danym katalogu i jego podkatalogach, posortowanych tak, aby najnowsze pliki były na wierzchu. Czy jest jakiś prosty sposób to zrobić? Zadowoliłbym się również skryptem Perla.
windows
command-line
script
Wyrko
źródło
źródło
my $dir = ($#ARGV >= 0 ? $ARGV[0] : '.');
aby skanował bieżący katalog, jeśli parametr katalogu nie zostanie podany, i uwzględniał wydrukowany czas:print strftime('%Y-%m-%d %H:%M:%S', localtime((stat($key))[9])) . " $key\n";
$files{$key}
jeśli chcesz go użyćstrftime
podczas drukowania, aby uniknąć drugiego połączenia zstat()
. Jeśli planujesz przesłać go do innego programu, zmodyfikowałem go tak, aby wyświetlał pełną ścieżkę do nazw plików. Możesz to pobrać tutaj: pastebin.ca/1797748Lubię to:
dir /s /o:-d
źródło
Jeśli masz zainstalowany program Cygwin lub podobny,
find . -type f | xargs ls -tr
zrobi to samo. Prawie na pewno możesz zrobić podobnie z PowerShellem Microsoft.źródło
Jeśli korzystasz z Wszystko , po prostu wpisz ścieżkę i sortuj według Data modyfikacji, a otrzymasz wszystkie pliki w tym folderze w tej kolejności, niezależnie od podkatalogu.
Wszystko jest darmowe, dostępna jest wersja przenośna.
źródło
Jeśli nie przeszkadza kodowania (choć trwa to pytanie na terytorium stosu przepełnieniem) wtedy nie
Directory
iFile
klas w języku C #.GetFiles
Metoda ma przeciążenia, która zwróci wszystkie nazwy plików we wszystkich podkatalogów. Następnie możesz przejrzeć tę listę, wywołującGetLastWriteTime
zmodyfikowaną datę / godzinę. Zapisz nazwę i czas w słowniku, posortuj według czasu i wydrukuj nazwy plików.Są też klasy
DirectoryInfo
iFileInfo
.Powinienem dodać, że cała ta funkcjonalność jest dostępna przez Powershell , więc nie masz dostępu do pełnego IDE.
źródło
Jeśli masz coś takiego jak Git Bash lub Cygwin, powinieneś być w stanie skorzystać z jednej z odpowiedzi tutaj: /programming/4561895/how-to-recursively-find-the-latest-modified -plik-w-katalogu
Dla mnie dobrze działał:
find . -type f -printf '%TF %TT %p\n' | sort -r
Możesz także dodać
| head -10
na końcu tego, aby zobaczyć tylko 10 najnowszych, powiedzmy.źródło