#1: Копирование файлов в каталог с "умным" переименованием Author: Mite, Posted: Mon Oct 26, 2009 18:15 Подскажите, как с помощью скрипта vbs реализовать следующую задачу.
Имеем:
1) каталог-источник с файлами вида DSCxxxxx.JPG (фотоснимки на флешке мобильного телефона);
2) целевой каталог, куда файлы копируютс после переименования по шаблону [=shelldetails.Модель камеры]_[=shelldetails.Untitled 2.Y-M-D h-m-s];
Хотелось бы автоматизировать процесс таким образом:
1) если в каталоге-получателе файла с подобным именем нет, то он просто копируется;
2) если файл с подобным именем уже есть, то сравниваются контрольные суммы и если они равны, то файл не копируется;
3) если контрольные суммы не равны, то файл копируется с автоматическим переименованием (как это реализовано в диалоге копирования Total Commander - дописыванием номера в скобках, начиная с (2) и т.д.)
Сам могу допереть по примеру готовых скриптов, но поджимает время...
Искал в ветке, нашел подобное, но не совсем то... если плохо искал - извиняюсь!
#2: Author: Samwatas, Posted: Mon Oct 26, 2009 19:10 Критично сделать это именно на vbs?
Дело в том, что на vbs нельзя получить значения из контентных плагов ([=shelldetails.Модель камеры]), во всяком случае без сторонних утилит. Подобную задачу можно решить на АвтоИте, но у меня свободного времени особо и нету (тем более если тебя время поджимает - тут я пас). Но можешь попробовать сделать сам.
#3: Author: Mite, Posted: Mon Oct 26, 2009 19:45 В принципе некритично.
Меня даже вполне устраивает вариант из двух этапов:
1) ручное копирование в промежуточный каталог с переименованием по данному шаблону;
2) и копирование со сравнением (уже переименованных файлов) из промежуточного каталога в целевой каталог.
Мне интересна автоматизация именно второго этапа.
А vbs интересует потому, что у меня уже есть опыт написания (и достаточно сложных, на мой взгляд ) bat-файлов и хотелось бы, разобрав конкретный пример, перейти на уровень выше...
P.S. Я тут параллельно сам разбираю примеры скриптов от Batya, и если у меня получится рабочий скрипт - выложу в теме.
#4: Author: Samwatas, Posted: Mon Oct 26, 2009 21:47 Если хочется именно vbs, то можешь взять мою утилитку wdx.exe отсюда и потренироваться в написании скриптов (единственное - утиль не работает с плагом shelldetails, зато с exif.wdx (колонка "Model") всё нормально получается). Правда с датой и временем такой фокус не пройдёт, так что для получения даты используй стандартные возможности vbs, я думаю он должен это позволять, или можно подождать пока я не напишу нормальнкю утиль вместо wdx.exe, но когда это будет - я не знаю (времени вечно не хватает).
#5: Author: Mite, Posted: Mon Oct 26, 2009 21:57 Samwatas, спасибо. Буду пробовать.
#6: Author: Samwatas, Posted: Mon Oct 26, 2009 22:10 Тут конечно твое личное дело что учить, но я бы посоветовал вместо vbs изучать AutoIt - у него возможностей побольше, также он позволяет создавать достаточно сложный ГУЙ, как для простового скриптового языка. Кроме того, написанные скрипты можно компилировать в EXE и запускать на любой машине. В общем, рекомендую.