Ł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.

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.


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 ).


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


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.


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


Zmiana nazwy +1 była po prostu niesamowita!
Chris Marisic,



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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.