[Script] Копирование файлов по списку

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Volniy
Сообщения: 585
Зарегистрирован: Ср дек 15, 2004 00:17
Откуда: Местный

Сообщение Volniy »

LA_ писал(а):похоже, что этим чем-то другим может быть IE
Да, конечно. А еще я видел в сети массу примеров, когда для несложных вычислений в качестве COM-сервера использовался Excell 2007 ;-). Не слишком ли для получения фрагмента текста из буфера загружать/выгружать IE ? По крайней мере это будет весьма странным действием для того, кто не использует этот броузер при серфинге.

А зачем ты прикидываешься, что только сейчас додумал про IE? Забыл этот скрипт? http://forum.wincmd.ru/viewpost.php?p=23944
LA_
Сообщения: 31
Зарегистрирован: Чт дек 07, 2006 09:21

Сообщение LA_ »

А зачем ты прикидываешься, что только сейчас додумал про IE? Забыл этот скрипт? http://forum.wincmd.ru/viewpost.php?p=23944
о, блин! и правда забыл!

кстати, в моем скрипте выше достаточно написать

Код: Выделить всё

Set objIE = Nothing 
?
или это не закрывает IE, а лишь убивает ссылку на него?
objIE.Quit почему-то не работает. скрипт выдает ошибку.
Не слишком ли для получения фрагмента текста из буфера загружать/выгружать IE ?
а Script Helper "легче"?
Аватара пользователя
Volniy
Сообщения: 585
Зарегистрирован: Ср дек 15, 2004 00:17
Откуда: Местный

Сообщение Volniy »

LA_ писал(а):

Код: Выделить всё

Set objIE = Nothing 
?
или это не закрывает IE, а лишь убивает ссылку на него?
Да, убивает ссылку. Но если ссылка была единственной и IE до запуска скрипта не был открыт обычным способом, тогда еще и выгружает IE из памяти.
objIE.Quit почему-то не работает. скрипт выдает ошибку.
Работает без проблем, только не вызывай

Код: Выделить всё

Set objIE = Nothing 
перед этим.
а Script Helper "легче"?
Ну конечно, около 1,5MB . А IE6 - это где-то 16 мегов оперативки, 7-ой конечно же еще больше. Плюс при запуске IE загружается куча только ему нужных библиотек. И все это только для того, чтобы прочесть содержимое буфера?

BTW Если хорошо поискать (возможно даже в этом топике), то найдутся и другие COM-объекты для работы с буфером обмена и, ежели они будут написаны не на VB как в случае с Script Helper-ом, они будут еще менее прожорливые.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Занятно, что на PowerPro скрипт для записи буфера в файл имеет какую-то просто неприличную длину - одну строчку:

Код: Выделить всё

clip.tofile("c:\path\descript.txt", 0)
И никаких тебе СОМ-объектов и IE...
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
Volniy
Сообщения: 585
Зарегистрирован: Ср дек 15, 2004 00:17
Откуда: Местный

Сообщение Volniy »

Вахмурка писал(а):И никаких тебе СОМ-объектов и IE...
И никакого тебе PowerPro? :wink:
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Volniy писал(а):И никакого тебе PowerPro?
:D 5 баллов!
Volniy писал(а):Не слишком ли для получения фрагмента текста из буфера загружать/выгружать IE ? По крайней мере это будет весьма странным действием для того, кто не использует этот броузер при серфинге.
А я использую в качестве браузера Maxthon на ядре IE. Так он вообще всегда отображается даже при использовании objIE.Invisible = False. Поэтому я стараюсь объект IE не использовать, хотя уже знаю, что его можно использовать для работы с буфером обмена.
Проще не работать с монстрами, а взять что-то более приспособленное.
Единственный, на мой взгляд, недостаток использования Script Helper-а - его надо предварительно регистрировать. Для Portable-версии это критично.
Нет, я не сплю. Я просто медленно моргаю.
GhostKU
Сообщения: 1
Зарегистрирован: Вт июл 15, 2008 03:41

Сообщение GhostKU »

Прошу составить скрипт для автоматизации следующих действий.

Для каждой выделенной папки:
Зайти в папку
Для каждого файла формата *.zip
Разархивировать файл с перезаписью файлов
Удалить *.zip файл
Для каждого файла формата *.rar (он будет только один)
Разарихивировать файл с перезаписью
Удалить файл filename.rar а также все файлы filename.r00, filename.r01 и остальные тома данного архива
Выйти из папки.

Заранее благодарен.
DrShark
Сообщения: 911
Зарегистрирован: Сб окт 21, 2006 20:27
Откуда: Kyiv, Ukraine
Контактная информация:

Copy_from_list bug

Сообщение DrShark »

2Batya
При использовании скрипта копирования по списку в Vista опять наткнулся на баг:

Код: Выделить всё

---------------------------
Windows Script Host
---------------------------
Сценарий:	C:\totalcmd\Utils\Copy_from_list_3_overwrite.vbs
Строка:	254
Символ:	3
Ошибка:	Невозможно создание объекта контейнером ActiveX: 'UserAccounts.CommonDialog'
Код:	800A01AD
Источник: 	Ошибка выполнения Microsoft VBScript

---------------------------
ОК   
---------------------------
- возникает в меню с первым пустым параметром ("")
Также сюда, думаю, стоит добавить, что судя по документации Microsoft, UserAccounts.CommonDialog используется только в системах Windows XP и выше. Проверить скрипт на Win2000 и ниже нет возможности, но если осн. функционал работает, до для этих систем лучше заменить CommonDialog на банальный InputBox.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

DrShark писал(а):до для этих систем лучше заменить CommonDialog на банальный InputBox
Сделал.
Добавил обработку переменных окружения.

Модераторы
Ребят, кто-нибудь открепите, пожалуйста, сообщения о копировании по списку в отдельную тему.
Начать можно с этого сообщения.
Тему можно назвать "[Script] Копирование по списку".
Нет, я не сплю. Я просто медленно моргаю.
Аватара пользователя
Моторокер
Сообщения: 1517
Зарегистрирован: Пт май 06, 2005 08:22
Откуда: г. Пермь (читается Перьмь)
Контактная информация:

Сообщение Моторокер »

[mod]Сообщения выделены в отдельную тему.[/mod]
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
LA_
Сообщения: 31
Зарегистрирован: Чт дек 07, 2006 09:21

Сообщение LA_ »

Batya писал(а):Кто-нибудь может
Только сейчас совсем нет свободного времени. Через недельку.
ждем ;)
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Volniy писал(а):И никакого тебе PowerPro? :wink:
Ну хоть что-то должно быть!
Я имел в виду лишь размер скрипта. Полстраницы для такой простенькой задачи - многовато...
Долго не отвечал - отпуск. Только что вернулся.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

LA_ писал(а):товарищи, а может ли кто-нить помочь со скриптом, который при запуске будет брать все файлы и вложенные папки из текущей папки, но за исключением заранее заданных папок и файлов (список можно прописать в самом скрипте - он не меняется), и из этих файлов-папок создавать рар-архив с заданным именем (имя также не меняется) + добавленной датой в конце в формате YYYYMMDD в папке bak?
Скрипт не нужен. Достаточно только WinRar-а. Кнопка:

Код: Выделить всё

TOTALCMD#BAR#DATA
"C:\Program Files\WinRAR\WinRAR.exe"
a -agYYYYMMDD -x@%L -r -ibck -ep1 -ed "%T.rar" "%P"
C:\Program Files\WinRAR\WinRAR.exe
WinRAR


-1
Соответственно, приведенная мной кнопка создает архив YYYYMMDD.rar в противоположной панели TC, поместив туда все файлы и папки из текущей панели, за исключением выделенных файлов\папок.
Для своего случая можешь самостоятельно указать файл-список исключений вместо %L, целевую папку для архива вместо %T, архивируемую папку вместо %P, а таже написать начало имени архива перед ".rar".
Нет, я не сплю. Я просто медленно моргаю.
LA_
Сообщения: 31
Зарегистрирован: Чт дек 07, 2006 09:21

Сообщение LA_ »

спасибо!
сделал в итоге просто bat-файл с одной строкой
C:\Utils\Winrar\winrar.exe a -agYYYYMMDD -x*\_bak\* -x*\_ready\* -x*.~* -x*.bak -r -ibck -ep1 -ed "_bak\archive.rar" %~dp0

пакуется содержимое текущей папки в архив archiveYYYYMMDD.rar в папку _bak\, исключаются из упаковки папки _bak, _ready и файлы *.~*, *.bak
null
Сообщения: 1
Зарегистрирован: Вт окт 14, 2008 09:08

Сообщение null »

А как сделать так: выделенные файлы и папки (с сохранением структуры) копируются в директории назначения, взятые из списка (как например при FTP-загрузке по списку)? Где-то уже видел, а где - не помню... заранее спасибо
Ответить