Страница 18 из 52
групповое переименование, скрипт
Добавлено: Чт май 09, 2013 19:38
eug.shap3
Уважаемые формучане!
Необходимо переименовать файлы (сканы страниц) чтоб все было по порядку.
файлы расположены так, что начинаются, например с 2й страницы, семь штук подряд идут через одну, например, 2 - 4 -6, на восьмой идет скачок +16, например, было 32, стало 48, а потом опять семь подряд идут +2.. и все повоторяется.
Напишите, есть ли возсожность так настроить групповое переименование, чтоб рассортировать файлы по порядку (во второй папке, соотв, нечетные).
Спасибо
Добавлено спустя 3 минуты:
Простите за ошибки, быстро печатал.

Добавлено: Чт май 09, 2013 20:48
Tol!k
сколько всего файлов?
Добавлено: Чт май 09, 2013 21:13
eug.shap3
Tol!k писал(а):сколько всего файлов?
более 4000, вручную долго...
Добавлено: Чт май 09, 2013 21:54
CaptainFlint
eug.shap3
А стандатный, описанный в справке [C2+2] чем не подходит?
Добавлено: Чт май 09, 2013 22:05
eug.shap3
CaptainFlint писал(а):eug.shap3
А стандатный, описанный в справке [C2+2] чем не подходит?
[C2+2] переномерует 7 файлов, номерация которых идет по порядку, напр. 2-4-8 и т.д, однако для переименования следующей части, после "скачка", это не подходит, разве что я не знаю дополнительных команд.
Указывать вручную 4000/7=571 "папок", мышкой выделяя 7 подряд - можно, но отбирает много времени + есть риск механической ошибки.
С том-то и вопрос, что нужно настроить как бы два фильтра, обычные 2-4-6, и дополнительный, типа, "начинаем с 2, а после переименования 7 файлов начинаем с +16-ти, например, 18 (2+16).
Пардон за оффтопик, я вычитал в сети, что это можно бы решить путем создания java (или другого) скрипта в других программах (упоминают Advanced Renamer), но я не программист, и комманд java не знаю.
Может, возможно создать некий скрипт для TC ?
Добавлено: Чт май 09, 2013 22:24
Tol!k
Код: Выделить всё
@echo off
setlocal enableextensions enabledelayedexpansion
if "%~2"=="" goto :eof
set "pre=page_"
set "ext=.bmp"
set /a strt=100000+%~1
set /a end=100000+%~2
set list="%strt:~-5%_%end:~-5%.lst"
cd. >%list%
set /a cnt=%strt%
:loop
for %%a in (2 2 2 2 2 2 2 16) do (
set /a cnt=cnt+%%a
if !cnt! gtr %end% goto :eof
echo %pre%!cnt:~-5!%ext%
) >>%list%
goto :loop
Сохрани как .cmd
Запусти с параметрами
0 4000
и
-1 4000
Получится 2 списка
затем Инструмент группового переименования → Загрузить имена из файла
Добавлено: Чт май 09, 2013 23:10
CaptainFlint
eug.shap3 писал(а):[C2+2] переномерует 7 файлов, номерация которых идет по порядку, напр. 2-4-8 и т.д, однако для переименования следующей части, после "скачка", это не подходит, разве что я не знаю дополнительных команд.
Понятно. Я сначала понял так, что, наоборот, этот скачок уже есть и от него нужно избавиться, сделав для всех файлов единую сквозную нумерацию.
Да, в таком случае стандартный инструмент не подойдёт, таких сложных команд в нём нет.
Добавлено: Чт май 09, 2013 23:16
eug.shap3
Tol!k писал(а):
[/code]
сохрани как .cmd
запусти с параметрами
0 4000
и
-1 4000
Ух ты, не ожидал!
А как правильно запускать полученный .cmd?
В коммандной строке TC, в папке с файлами? Или иначе?
Спасибо!
Добавлено: Чт май 09, 2013 23:31
Tol!k
А как правильно
Как угодно. Получится 2 списка
затем
Инструмент группового переименования > Загрузить имена из файла
Добавлено: Пт май 10, 2013 00:12
eug.shap3
Добавлено: Вт июн 11, 2013 13:41
RuMaS
Flasher
Прошу прощения, что я делаю неправильно? Во втором диалоговом окне, чтобы удалить искомый текст, вводимый в первом, надо ставить "*"?
Пример: файл 111.decrypted00.doc надо сделать 111.doc
В первом окне ввожу .decrypted00, во втором "*".
Выскакивает ошибка:
Код: Выделить всё
---------------------------
Windows Script Host
---------------------------
Сценарий: C:\Program Files (x86)\Total Commander\Utilites\rename.vbs
Строка: 25
Символ: 3
Ошибка: Недопустимый вызов или аргумент процедуры
Код: 800A0005
Источник: Ошибка выполнения Microsoft VBScript
---------------------------
ОК
---------------------------
Извините, если что-то банальное - никогда со скриптами в ТС не работал, а очень надо.
Добавлено: Вт июн 11, 2013 13:54
Flasher
Памятка новичку по скриптам (Читать обязательно!)
> Если скрипт не работает! > 3)
Добавлено: Вт июн 11, 2013 18:25
RuMaS
Flasher
Прошу прощения:
параметр равен 1
Добавлено: Вт июн 11, 2013 20:02
Flasher
Понял проблему. Исправлено.
Добавлено: Ср июн 12, 2013 13:07
RuMaS
Flasher
Спасибо огромное, всё получилось. Хотя в конце вылезла ошибка:
Код: Выделить всё
---------------------------
Windows Script Host
---------------------------
Сценарий: C:\Program Files (x86)\Total Commander\Utilites\rename.vbs
Строка: 48
Символ: 3
Ошибка: Разрешение отклонено
Код: 800A0046
Источник: Ошибка выполнения Microsoft VBScript
---------------------------
ОК
---------------------------
[mod="Avada"]Оформление этого и предыдущих постов приведено в соответствие с
правилами форума (убран оверквотинг), также нормально оформлен код.[/mod]