-1

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

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

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

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

Каков наилучший способ достичь / сделать это?

2 ответа2

0

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

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

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

0

Предполагая, что у вас чисто 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.

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

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

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