Як перейменувати кілька файлів у декількох папках однією командою


11

Ми хочемо перейменувати наші *.htmlфайли, *.phpале (на жаль) не вистачає знань, щоб це зробити за допомогою командної строкової команди та / або пакетного файлу cmd.

Проблема полягає в тому, що кожен файл знаходиться в окремій папці - і я кажу про 750+ різних імен папок. Використання підстановочних знаків для файлів, які я знаю, * але для мене також невідоме використання підстановки для папок. Напевно, нам потрібно використовувати FORкоманду (в командному рядку), але там я застряг.

Структура папок, яку ми використовуємо:

батьківська папка / дочірня папка / внук-папка / файл .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

Відповіді:


14

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

Це буде працювати в PowerShell. Якщо у вас Windows 7 або Vista, ви повинні встановити її за замовчуванням. Якщо ви на XP, можете завантажити його тут .


Soandos, Chapeau !!!!!!!!!!!! Багато хто ніж з цього боку, працює як шарм.
Чарльз

@Charles, якщо це вирішило вашу проблему, натисніть прапорець, щоб усі, хто бачить її, знали, що це працює. Ласкаво просимо до SuperUser.
soandos

3

У командному рядку:

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

Примітка: Ви можете замінити *.htmlна інші підстановки, наприклад d:\www\*.html.

Примітка 2: Якщо ви використовуєте команду в пакетному файлі, замініть %aна %%a(не запитуйте мене чому)


Чому ти кажеш "delims=*"?  "delims="має бути достатньо хорошим (тобто, чому ви вказуєте роздільник *?
G-Man каже: "Відновити Моніку"

1

Гнучкий Renamer - це відмінна маленька програма, яка буде обробляти декілька різних типів перейменовування пошуку / заміни. Він приймає регулярні вирази і має загальновизнані загальні зразки. Крім того, вона дозволяє включати елементи у підпапки або працювати над самими папками. Це також дає попередній перегляд усіх змін, які будуть внесені. Я його використовую роками і дуже рекомендую.

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



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.