Пакетное переименование изображений численно?

Возможный дубликат:
Переименуйте много файлов одним щелчком мыши

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

  • Как перебирать папки и переименовывать расширения в пакетном файле?
  • В XP, как мне переименовать каталог файлов с помощью регулярного выражения или аналогичный, чтобы удалить часть имени файла и добавить префикс?
  • Расширение расширений файлов в Mac OS X?
  • Пакетное переименование файлов в Linux
  • Как рекурсивно переименовывать файлы / папки, чтобы их имена были удобными для Windows?
  • Как заменить один символ в именах файлов Windows с помощью командного файла?
  • Проблема в том, что все десятки изображений, которые я сохранил, имеют имена файлов osbscure, как на этом скриншоте

    Я хочу, чтобы выходные данные были примерно такими: 0001, 0002 или 001, 002 и т. Д.

    Каким будет лучший способ добиться этого?

  • Умный способ подключения нескольких изображений к макросу макроса - VAB Excel
  • Добавить в начало имени файла
  • Автоматически изменять размер изображения / изображения в Word?
  • Массовое переименование файлов с помощью bash
  • Пакетное переименование файлов в Linux
  • Как переименовать длинные имена файлов в короткие в Linux?
  • 2 Solutions collect form web for “Пакетное переименование изображений численно?”

    Вы находитесь в Windows, так что вы можете сделать это с помощью оболочки Hamilton C :

    @ n = 1 foreach i ( *.jpg ) mv $i $printf("%04d.jpg", n++) end 

    Бесплатная демо-версия – это все, что вам нужно. (Полное раскрытие: я автор.)

    Предположим, что чистая Windows (т. Е. Cygwin и др.) И что вы не хотите или не можете установить что-либо для этого, я бы предложил использовать сценарий Visual Basic для выполнения этой работы. Вы можете попробовать что-то вроде:

      targetDir = WScript.Arguments.Item(0) WScript.Echo "Operating on files in " + targetDir Set fsh = CreateObject("Scripting.FileSystemObject") Set targetFiles = fsh.GetFolder(targetDir).Files ZeroPadWidth = Len(targetFiles.Count) FileNumber = 0 For Each File In targetFiles FileNumber = FileNumber + 1 NewName = targetDir & "\" For I = 1 To ZeroPadWidth - Len(FileNumber) NewName = NewName & "0" Next NewName = NewName & FileNumber WScript.Echo "Renaming " & targetDir & "\" & File.Name & ": " & NewName File.Move(NewName) Next 

    Поместите это в файл, например «rename.vbs»; Затем вызовите его из командной строки с целевым каталогом в качестве единственного аргумента, например:

      c:\Users\Username\Desktop> cscript rename.vbs "c:\target\directory" 

    Он будет генерировать имена файлов, которые упорядочены численно и слева с нулями; Если у вас есть каталог с тысячей файлов в нем, вы получите имена от 0001, 0002 … 0999, 1000.

    Никакой гарантии, но она должна делать то, что вам нужно. Если это не так, дайте мне знать. (И на всякий случай сделайте безопасную копию целевого каталога, я проверил это немного, и все должно быть в порядке, но всегда есть возможность ошибки, которую я не поймал.)

    Надеюсь это поможет! (Если это так, я надеюсь, что вы примете точку зрения Шинраи о принятии норм к сердцу.)

    Давайте будем гением компьютера.