Chcemy zmienić nazwy naszych *.html
plików, *.php
ale (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ć FOR
polecenia (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 *.php
zakładam, że następujące .htaccess
spowoduje stałe przekierowanie.
RedirectMatch 301 (.*)\.html$ http://oursite.com$1.php
źródło
W wierszu poleceń:
Uwaga: możesz zastąpić
*.html
inne symbole wieloznaczne, npd:\www\*.html
.Uwaga 2: W przypadku korzystania z polecenia w pliku wsadowym, należy wymienić
%a
z%%a
(nie pytaj mnie dlaczego)źródło
"delims=*"
?"delims="
powinno być wystarczająco dobre (tj. dlaczego określasz ogranicznik*
?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
źródło
Korzystając z forfiles, możemy napisać skrypt, aby rekursywnie zmieniać nazwy plików we wszystkich podfolderach.
Źródło: Skrypt wsadowy do zmiany nazw plików zbiorczo
źródło
TotalCommander: Szukaj - Wyślij do panelu - Narzędzie do wielokrotnej zmiany nazwy
źródło