Jak zmienić nazwę wielu plików w wielu folderach za pomocą jednego polecenia


11

Chcemy zmienić nazwy naszych *.htmlplików, *.phpale (niestety) nie mamy wystarczającej wiedzy, aby to zrobić za pomocą polecenia wiersza polecenia cmd i / lub pliku wsadowego.

Problem polega na tym, że każdy plik znajduje się w osobnym folderze - i mówię o ponad 750 różnych nazwach folderów. Używanie symboli wieloznacznych do plików, które znam, * ale używanie symboli wieloznacznych do folderów jest mi nieznane. Prawdopodobnie musimy użyć FORpolecenia (w wierszu polecenia), ale utknąłem.

Stosowana przez nas struktura folderów to:

rodzic-Folder / dziecko-Folder / wnuczek-folderu / pliku .html

na przykład:

  • games/A/game_name/file.html
  • games/B/game_name/file.html
  • games/C/game_name/file.html i tak dalej.

Folder nadrzędny jest taki sam dla wszystkich plików; foldery podrzędne i wnukowe są różne dla większości plików.

Po zmianie nazwy tych plików na *.phpzakładam, że następujące .htaccessspowoduje stałe przekierowanie.

RedirectMatch 301 (.*)\.html$ http://oursite.com$1.php

Odpowiedzi:


14

get-childItem -recurse | Where {$_.extension -eq ".html"} | rename-item -newname { $_.name -replace ".html",".php" }

Działa to w PowerShell. Jeśli masz system Windows 7 lub Vista, powinieneś go zainstalować domyślnie. Jeśli masz XP, możesz go pobrać tutaj .


Soandos, Chapeau !!!!!!!!!!!! Wiele dzięki z tej strony działa jak urok.
Charles

@Charles, jeśli to rozwiązało problem, kliknij znacznik wyboru, aby wszyscy inni, którzy go zobaczą, wiedzieli, że zadziałało. Witamy w SuperUser.
soandos

3

W wierszu poleceń:

for /f "delims=*" %a in ('dir *.html /b /s') do ren "%a" *.php

Uwaga: możesz zastąpić *.htmlinne symbole wieloznaczne, np d:\www\*.html.

Uwaga 2: W przypadku korzystania z polecenia w pliku wsadowym, należy wymienić %az %%a(nie pytaj mnie dlaczego)


Dlaczego tak mówisz "delims=*"?  "delims="powinno być wystarczająco dobre (tj. dlaczego określasz ogranicznik *?
G-Man mówi „Przywróć Monikę”

1

Flexible Renamer to doskonały mały program, który będzie obsługiwał kilka różnych typów wyszukiwania / zamiany nazw. Akceptuje wyrażenia regularne i ma predefiniowane wspólne wzorce. Ponadto umożliwia dołączanie elementów do podfolderów lub operowanie na samych folderach. Daje także podgląd wszystkich zmian, które zostaną wprowadzone. Korzystam z niego od lat i bardzo go polecam.

http://download.cnet.com/FLEX-Renamer/3000-2248_4-28799.html



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.