우리는 *.html
파일 이름을 바꾸고 *.php
싶지만 cmd 프롬프트 명령 및 / 또는 배치 파일을 사용하여 지식이 충분하지 않습니다.
문제는 각 파일이 별도의 폴더에 있다는 것입니다. 750 개 이상의 다른 폴더 이름에 대해 이야기하고 있습니다. 내가 아는 파일에 와일드 카드를 사용하는 *
것은 폴더에 와일드 카드를 사용하는 것은 나에게 알려져 있지 않습니다. FOR
명령 프롬프트에서 명령 을 사용해야 할 수도 있지만 문제가 있습니다.
우리가 사용하는 폴더 구조는 다음과 같습니다.
부모 폴더 / 자식 폴더 / grandchild-folder / 파일 .html
예를 들면 다음과 같습니다.
games/A/game_name/file.html
games/B/game_name/file.html
games/C/game_name/file.html
등등.
부모 폴더는 모든 파일에서 동일합니다. 자식 및 손자 폴더는 대부분의 파일에서 다릅니다.
이 파일의 이름을 바꾼 후에 *.php
는 다음에서 .htaccess
영구적으로 리디렉션 한다고 가정합니다 .
RedirectMatch 301 (.*)\.html$ http://oursite.com$1.php
답변
get-childItem -recurse | Where {$_.extension -eq ".html"} | rename-item -newname { $_.name -replace ".html",".php" }
이것은 PowerShell에서 작동합니다. Windows 7 또는 Vista가있는 경우 기본적으로 설치되어 있어야합니다. XP를 사용하는 경우 여기에서 다운로드 할 수 있습니다 .
답변
명령 행에서 :
for /f "delims=*" %a in ('dir *.html /b /s') do ren "%a" *.php
참고 : *.html
다른 와일드 카드를 대체 할 수 있습니다 ( 예 🙂 d:\www\*.html
.
주 2 : 배치 파일 내에서 명령을 사용하는 경우, 대체 %a
와 %%a
(왜 나 한테 물어하지 않음)
답변
Flexible Renamer는 여러 가지 유형의 이름 바꾸기 검색 / 대체를 처리하는 훌륭한 작은 프로그램입니다. 정규 표현식을 허용하며 공통 패턴이 사전 정의되어 있습니다. 또한 하위 폴더에 항목을 포함 시키거나 폴더 자체에서 작업 할 수 있습니다. 또한 모든 변경 사항을 미리 볼 수 있습니다. 몇 년 동안 사용해 왔으며 강력히 추천합니다.
http://download.cnet.com/Flexible-Renamer/3000-2248_4-28799.html
답변
forfiles를 사용하여 스크립트를 작성하여 모든 하위 폴더에서 파일 이름을 재귀 적으로 바꿀 수 있습니다.
forfiles /S /M *.html /C "cmd /c rename @file @fname.php"
답변
TotalCommander : 검색-패널로 보내기-다중 이름 바꾸기 도구