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