Добавить текст в конец имени файла (но перед расширением) с помощью пакетного файла

Добавить текст в конец имени файла (но перед расширением) с помощью пакетного файла

У меня есть список файлов, которые находятся в формате слева. Я хочу добавить строку к каждому имени файла, нодорасширение, как показано:

File 1.txt  ->  File 1 version 1.txt
File 2.txt  ->  File 2 version 1.txt
File 3.txt  ->  File 3 version 1.txt
File 4.txt  ->  File 4 version 1.txt
...

В каждом случае добавляемая строка одинакова во всех файлах.

Это кажется такой простой задачей, но у меня возникли некоторые трудности с помещением ее в пакетный файл.

Я попробовал renкоманду и следовал некоторым примерам наэта страница, но к полученным именам файлов добавляется строкапослерасширение:

File 1.txt version 1.txt

решение1

для более длинных имен файлов вам придется добавить еще несколько ?в блок с массой?????????

ren *.?* ????????????????????????????????????????????????????????" version 1".*

решение2

Вместо того, чтобы полагаться нареннедокументированные странности, почему бы не сделать это должным образом?

for %a in (*.txt) do ren "%~a" "%~na version 1%~xa"

Если вы хотите использовать это в пакетном файле, просто не забудьте удвоить каждый знак %.

Эта строка кода будет перебирать все соответствующие файлы *.txtи выполнять команду переименования ( ren) для каждого имени файла. %a— полное имя файла, %~a— имя файла без дополнительных кавычек (кавычки добавляются в команде). %~na— имя файла без расширения файла, %~xa— расширение файла.

Если в текущем каталоге находится один файл, File 1.txtбудет выполнена следующая команда: ren "File 1.txt" "File 1 version 1.txt"

решение3

Я хотел добавить «_A» в несколько файлов, и вот как я это сделал.

Сначала я удалил расширение, добавил суффикс, затем изменил расширение обратно на исходное. Это, конечно, сработало для меня и сохранило пакетный код простым, так как я не очень хороший программист.

@ECHO OFF

REN *.pdf *.
REN *. *_A.
REN *. *.pdf

решение4

Для тех, кто не имеет опыта работы с командами (вроде меня), есть пара программ, которые значительно упрощают массовое переименование:

  • Утилита массового переименования (не с открытым исходным кодом)
  • Переименуй-это! (с открытым исходным кодом)

Связанный контент