Простий спосіб перейменувати всі файли в каталозі в Windows [закрито]


9

Чи є простий спосіб перейменувати всі файли в каталозі? Це PowerShell шлях?

Я хотів би перейти від цього:

c:\family_pics\
   img123.jpg
   img124.jpg

до цього:

c:\family_pics\ 
   family_pics_1.jpg 
   family_pics_2.jpg

В ідеалі я хотів би запустити скрипт у каталозі, який перейменовував би всі файли на основі імені поточного каталогу, зберігаючи розширення, і ходив би дерево каталогів рекурсивно.

Відповіді:


16

Виходячи з того, що все можна зробити в одному рядку PowerShell (так само, як все можна зробити і в 1 рядку Perl), ось PS-код для одного каталогу.

$i=0; get-childitem $dirname | foreach-object {

       rename-item "$dirname\$_" $("{0}_{1}{2}" -f $dirname, ++$i, $_.Extension)
}

Щоб зробити це рекурсивно, ви загортаєте вище у функцію, а потім викликаєте її у кожному каталозі вашого дерева. Ви також можете замінити рядок формату чимось дещо складнішим, якщо вам потрібно використовувати регулярні вирази.


10

Це трохи хакі, але я робив це вже як 12 років, і я досить швидко в цьому:

  • Відкрийте командний рядок у c: \ family_pics та введіть dir >> dir.xls
  • Відкрийте файл dir.xls в Excel
  • Виділіть перший стовпець, виберіть "Текст до стовпців" та додайте розриви стовпців на пробіли (ігноруючи дублікати)
  • Тепер у вас є приємна таблиця з вашими поточними іменами файлів, розмірами файлів тощо
  • Додайте новий стовпець "ren" перед назвою файлу
  • Додайте новий стовпець після імені файлу та використовуйте будь-які функції Excel, які ви хочете створити нове ім’я файлу. У вашому випадку, якщо ви введете перші дві імена файлів, а потім двічі клацніть нижній правий кут комірки, Excel автоматично визначить шаблон і генерує решта імен.
  • Зберегти як ren.bat
  • Запустіть щойно створений пакетний файл, і він перейменовує всі ваші каталоги

Хоча це може бути не відразу очевидним, Excel дуже добре підходить до такого роду завдань, оскільки ви можете використовувати будь-яку формулу, яку ви хочете, для генерації нових файлів, використовуючи входи з існуючих файлів (часова мітка, ім'я файлу, розмір тощо). ).


Excel - найкращий генератор коду / скрипту, якого я знаю.
GvS

3

Хоча ви можете робити речі з пакетним файлом, я виявив, що краще управління, варіанти тощо та візуальний підказки того, що має відбутися, краще.

Існує безкоштовний інструмент під назвою CKRename. Очевидно, що авторський сайт не зник, але додаток є повністю функціональним і досить популярним (я використовую його вже 8 років). Завантажте CKRename

Ось знімок екрана в дії введіть тут опис зображення


1

Ви можете просто виділити всі ті, що ви хочете в провіднику, потім клацніть правою кнопкою миші на першому і перейменуйте його, і Windows потім перейменує їх усі для вас з тим самим умовою іменування.


Просто спробував , починаючи з fileA.m, fileB.m і т.д. Istead з fileA_001.m, fileB_002.m, замість цього отримав fileA_001.m, fileA_001 (1) .m, fileA_001 (2) .m і т.д.
jacobsee

1

ReNamer: http://www.den4b.com/

Також дивіться: Як перейменувати частину імені файлу з вибору файлів у Windows?

Завантажте папку із зображеннями у ReNamer (підпапки будуть додані рекурсивно за замовчуванням). Клацніть на стовпці Ім'я, щоб сортувати за назвою файлу, якщо ви хочете підтримувати послідовний порядок. Спеціальний метатег дозволить використовувати назву батьківської папки для перейменування. Використовуйте такі правила перейменування:

  1. Видалити з позиції 1 до кінця (пропустити розширення)
  2. Вставити ": File_FolderName: _" як префікс (пропустити розширення)
  3. Серіалізувати додаток з 1 кроку 1 повторення 1 як суфікс (пропустити розширення)

введіть тут опис зображення


Перейменування +1 було просто приголомшливо!
Кріс Марісіч


0

Завантажте RenameFiles (безкоштовно). Це одна з єдиних програм, яку мені дуже не вистачає з моменту переходу з Windows в Apple.

Схоже, це доступно тут http://it-falke.com/software/renamefiles/us_description.php, але у мене немає ПК для перевірки цього посилання. Остання версія, яку я використав, була 2.1.4. Це було справді просто, але універсально.


0

це знімає останні чотири символи (як правило, розширення)

dir *.jpg | % { ren $_.Name $_.Name.Substring(0,$_.Name.Length-4) }

Вам може знадобитися пристосувати вищезазначене для обробки пробілів або ваших конкретних вимог до перейменування

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