Łatwy sposób na zmianę nazwy wszystkich plików w katalogu w systemie Windows [zamknięty]

9

Czy istnieje prosty sposób na zmianę nazwy wszystkich plików w katalogu? Czy PowerShell jest właściwą drogą?

Chciałbym od tego zacząć:

c:\family_pics\
   img123.jpg
   img124.jpg

do tego:

c:\family_pics\ 
   family_pics_1.jpg 
   family_pics_2.jpg

Idealnie, chciałbym uruchomić skrypt w katalogu, który zmieniłby nazwy wszystkich plików w oparciu o nazwę bieżącego katalogu, zachowując rozszerzenie i przechodziłby rekurencyjnie po drzewie katalogów.

Nawet Mien
źródło

Odpowiedzi:

16

Na podstawie tego, że wszystko można zrobić w jednym wierszu programu PowerShell (podobnie jak wszystko można również zrobić w 1 wierszu Perla), oto kod PS dla pojedynczego katalogu.

$i=0; get-childitem $dirname | foreach-object {

       rename-item "$dirname\$_" $("{0}_{1}{2}" -f $dirname, ++$i, $_.Extension)
}

Aby to zrobić rekurencyjnie, należy zawinąć powyższą funkcję w funkcję, a następnie wywołać ją w każdym katalogu w drzewie. Możesz również zamienić ciąg formatu na coś nieco bardziej zaawansowanego, jeśli chcesz użyć wyrażeń regularnych.

użytkownik2278
źródło
10

To jest trochę zuchwałe, ale robiłem to przez około 12 lat i jestem dość szybki:

  • Otwórz wiersz polecenia w folderze c: \ family_pics i wpisz dir >> dir.xls
  • Otwórz plik dir.xls w programie Excel
  • Podświetl pierwszą kolumnę, wybierz „Tekst do kolumn” i dodaj podziały kolumn do znaków spacji (ignorując duplikaty)
  • Masz teraz ładny stolik z aktualnymi nazwami plików, rozmiarami plików itp
  • Dodaj nową kolumnę „ren” przed nazwą pliku
  • Dodaj nową kolumnę po nazwie pliku i użyj funkcji Excela, które chcesz wygenerować nową nazwę pliku. W twoim przypadku, jeśli wpiszesz pierwsze dwie nazwy plików, a następnie dwukrotnie klikniesz prawy dolny róg komórki, Excel automatycznie wykryje wzór i wygeneruje pozostałe nazwy.
  • Zapisz jako ren.bat
  • Uruchom właśnie utworzony plik wsadowy, a zmieni on nazwy wszystkich katalogów

Chociaż może nie być oczywiste, Excel jest bardzo dobrze nadaje się do tego rodzaju zadania, ponieważ można użyć dowolnego rodzaju wzoru, który ma do generowania nowych plików, przy wykorzystaniu z istniejących plików (datownik, nazwa pliku, rozmiar, itp ).

Portman
źródło
Excel to najlepszy generator kodów / skryptów, jaki znam.
GvS
3

Chociaż możesz robić różne rzeczy za pomocą pliku wsadowego, zauważyłem, że lepsza kontrola, opcje itp., A wizualna wskazówka, co ma się wydarzyć, jest lepsza.

Istnieje bezpłatne narzędzie o nazwie CKRename. Wygląda na to, że oryginalna strona autora zniknęła, ale aplikacja jest w pełni funkcjonalna i dość popularna (używam jej od 8 lat). Pobierz CKRename

Oto zrzut ekranu z niego w akcji wprowadź opis zdjęcia tutaj

scunliffe
źródło
1

Możesz po prostu podświetlić wszystkie, które chcesz w Eksploratorze, a następnie kliknąć prawym przyciskiem myszy pierwszy i zmienić jego nazwę, a następnie Windows zmieni nazwę dla wszystkich z tą samą konwencją nazewnictwa.

użytkownik2287
źródło
Po prostu spróbowałem, zaczynając od pliku A.m, pliku B.m itp. Zamiast pliku A_001.m, pliku B_002.m, zamiast tego dostałem plik A_001.m, plik A_001 (1) .m, plik A_001 (2) .m itp.
Jacobsee
1

ReNamer: http://www.den4b.com/

Zobacz także: Jak zmienić nazwę części nazwy pliku z wybranych plików w systemie Windows?

Upuść folder ze zdjęciami do ReNamer (podfoldery będą domyślnie dodawane rekurencyjnie). Kliknij kolumnę Nazwa, aby posortować według nazwy pliku, jeśli chcesz zachować porządek sekwencyjny. Specjalny metatag umożliwia użycie nazwy folderu nadrzędnego do zmiany nazwy. Użyj następujących reguł zmiany nazwy:

  1. Usuń z pozycji 1 do końca (pomiń rozszerzenie)
  2. Wstaw „: Nazwa_pliku_pliku: _” jako Prefiks (rozszerzenie pomiń)
  3. Serializuj przyrostowo od 1 kroku 1 powtórz 1 jako sufiks (pomiń rozszerzenie)

wprowadź opis zdjęcia tutaj

Cagcowboy
źródło
Zmiana nazwy +1 była po prostu niesamowita!
Chris Marisic,
0

Pobierz RenameFiles (darmowy). To jeden z niewielu programów, za którymi naprawdę tęsknię od czasu przejścia z systemu Windows na Apple.

Wygląda na to, że jest dostępny tutaj http://it-falke.com/software/renamefiles/us_description.php, ale nie mam komputera, aby przetestować ten link. Ostatnia używana wersja to 2.1.4. To było naprawdę proste, ale wszechstronne.

Nazwa Użytkownika
źródło
0

powoduje to usunięcie czterech ostatnich znaków (zazwyczaj rozszerzenia)

dir *.jpg | % { ren $_.Name $_.Name.Substring(0,$_.Name.Length-4) }

Konieczne może być dostosowanie powyższego w celu obsługi spacji lub określonych wymagań dotyczących zmiany nazwy

Goyuix
źródło