1

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

как 1.j87 1.j88 1.j89 Теперь я должен переименовать каждое изображение в отдельное имя и расширение.

Я нашел это на нашем форуме.

Переименование нескольких файлов с одним и тем же именем, но разными расширениями

Но я не знаю, как использовать этот скрипт, кто-то может помочь?

4 ответа4

0

Если вам неудобно использовать скрипты, вы можете переименовывать файлы, используя отличный (и бесплатный) IrfanView, просто выполните следующие шаги:

  • Перейдите в File > Batch Conversion/Rename...

  • В Work as выберите Batch rename .

  • В Batch rename settings измените шаблон по умолчанию для image### на image###.jpg как вы также хотите изменить расширение. При этом будут названы файлы "image001.jpg", "image002.jpg" и т.д. (Если в этой папке более 999 изображений, используйте вместо этого image####.jpg). Вы можете настроить другой шаблон имени, используя кнопку Options .

  • На панели проводника справа выберите All files (*.*) В поле Type и перейдите в папку, в которой находятся файлы, затем выберите файлы, которые вы хотите переименовать, и нажмите Add (или нажмите Add all если вы хотите, чтобы переименуйте все файлы в этой папке).

  • В Output directory for result files нажмите Use current ("look in") directory для выбора той же папки, в которой находятся файлы, или используйте Browse чтобы выбрать другую, если вы хотите переместить переименованные файлы в другую папку.

  • Наконец, нажмите Start batch чтобы начать пакетное переименование.

Обратите внимание, что в качестве меры безопасности по умолчанию IrfanView будет делать копию файлов с новыми именами в выходной папке, а не просто переименовывать существующие. Чтобы переименовать исходные файлы, перейдите в « Options Batch rename settings и измените « Copy original/input files to output directory на « Move original/input files to output directory .

0

Я знаю, как это сделать с помощью оболочки Windows CMD после перехода в каталог файлов JPG.

Сохраните этот сценарий в файл BAT, например renamer.bat или в любую незарезервированную команду и выполните его из командной строки.

setlocal enabledelayedexpansion

set /a count=0
for /f "tokens=*" %%a in ('dir /b /od *.jpg') do (

    ren %%a ArbitraryString!count!.jpg
    set /a count+=1

)

Исходя из вашего вопроса, звучит так, как будто вы также хотите переименовать каждый файл *.jpg чем-то отличным от *.jpg , что смешало бы ваши ассоциации файлов и сделало бы утомительными открытия изображений. Если это ДЕЙСТВИТЕЛЬНО ИСТИНА, то замените строку Rename на:

ren %%a ArbitraryString!count!.!count!jpg
0

В ответ на комментарий Арджуна 10/19 ~ 2100 UTC вы должны выполнить этот скрипт в пакетном файле внутри того же подкаталога, что и ваши файлы, он будет переименовывать файлы. Случайная строка цифр.01.jpg и последующих чисел, пока все файлы в каталог обработан. ВСЕ файлы в этих каталогах, будь то JPG или нет, будут переименованы в случайное имя, порядковый номер и расширение .jpg.

Любые подкаталоги потребуют выполнения скрипта внутри этих каталогов.

setlocal enabledelayedexpansion
set /a count=0
for /f "tokens=*" %%a in ('dir /b /od *.*') do (
    ren %%a %random%!count!.jpg
    set /a count+=1
)
0

Найденный вами скрипт безоговорочно переименовывает все элементы в имя файла {порядковый номер из 1} .jpg из вашего текущего каталога. Имейте в виду, что команды Rename или Move могут быть очень деструктивными, особенно если вы точно не знаете, что такое код.

Я изменяю код, чтобы он был безопаснее для вас, как это:

Get-Item "2017-0~1.*" | ForEach-Object {

   $newName = $_.basename + $_.Extension.replace(".", "_") + ".jpg"
   Write-Host "rename-item" $_ $newName
   # rename-item $_ $newName
}

Код получает элементы с именем «2017-0 ~. *» В текущем каталоге. Для каждого элемента переименуйте элемент, добавив расширение «.jpg» в конец, в то время как исходная точка расширения и расширение заменяются подчеркиванием и расширением, например, «.001» на "_001". В этом случае вы можете узнать, какое было исходное имя файла.

Обратите внимание, что реальное действие комментируется.

Чтобы выполнить код:

> cd c:\to\your\directory

C:\to\your\directory> powershell

PS C:\to\your\directory> 

Вставьте код

PS C:\to\your\directory> Get-Item "2017-0~1.*" | ForEach-Object {
>>
>>    $newName = $_.basename + $_.Extension.replace(".", "_") + ".jpg"
>>    Write-Host "rename-item" $_ $newName
>>    # rename-item $_ $newName
>> }
>>

PS C:\to\your\directory> exit

C:\to\your\directory>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .