Automator: переименовывать файлы, исправляя пробелы в числах 1,2,3,5,6 -> 1,2,3,4,5

У меня есть огромное количество отсканированных файлов (до OCR), и я хочу, чтобы Automator (Yosemite) исправлял пробелы в номерах файлов: некоторые страницы дублировались, и после удаления дублирования в нумерации были пробелы, например:

Scan1, Scan2, Scan3, Scan5, Scan6.

Мне нужно, чтобы Automator взял указанную папку с последовательной нумерацией в именах файлов и исправил эти пробелы.

Я пытался найти что-то подобное, но не получилось. Любые идеи будут высоко оценены.

1 ответ

Попробуйте этот пакетный сценарий Windows (вам нужно изменить "Scan! I! .Jpg" на то, что вам нужно, часть! I! Неизменна и рабочий каталог):

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set i=1
cd C:\workdir
for /f %%f in ('dir /b .\') do (
  echo renaming "%%f" to "Scan!i!.jpg"
  ren "%%f" "Scan!i!.jpg"
  set /A i=!i!+1
)
ENDLOCAL
set "i="
  • Это позволит переименовать все файлы в папке в последовательности, как Scan1.jpg , Scan2.jpg , Scan3.jpg ,

  • Вставьте его в блокнот и сохраните как файл .bat

  • Попробуйте сначала это на мусор и посмотрите, если это то, что вам нужно.

Вот решение для Bash:

#!/bin/bash
workdir=/home/user
i=1
for f in `ls $workdir`
do
  echo renaming $f to "Scan$i.jpg"
  mv $workdir/$f $workdir/Scan$i.jpg
  i=$(($i+1))
done

Просто сохранить как script.sh или что-то, chmod +x script.sh и беги как ./script.sh , Обязательно укажите правильный каталог и имя файла

Другие вопросы по тегам