|
9 / 9 / 0
Регистрация: 14.10.2014
Сообщений: 69
|
||||||
VBS VBS-скрипт и Total Commander19.12.2014, 11:50. Показов 12006. Ответов 22
Метки нет (Все метки)
Доброго времени суток.
![]() Возникла необходимость соединить в своей работе Total Commander 8.51а и VBS. Для соединения их между собой использую плагин TCWSHelp.exe. Задача заключается в следующем. Пользователь открывает TC, переходит в директорию, сортирует там файлы по необходимым ему там признакам. Выделяет необходимые файлы. Затем нажимает в панели управления TC заранее, заботливо вынесенный, ярлык на vbs скрипт. VBS начинает работу. Перехватывает названия выделенных файлов, запускает winrar, происходит архивация данных файлов, затем все складывается на SMB шару в ЛВС. С чем я столкнулся при написании: 1 - Как правильно перехватить названия выделенных файлов? 2 - Что сделать такого, чтобы &computername& правильно стыковался с именем архива? Собственно для чего все это делается. Возникла необходимость написать систему архивирования/резервного копирования и сохранения данных пользователей. Понимаю, что есть много интересных и крутых пакетов, но нам нужна ручная система. Почему? Пользователи работают с очень специфическими программными пакетами и архивировать результаты надо руками.
0
|
||||||
| 19.12.2014, 11:50 | |
|
Ответы с готовыми решениями:
22
Double Commander вполне заменит Total Commander? TOTAL COMMANDER 8.01 Total Commander |
|
251 / 239 / 16
Регистрация: 31.12.2009
Сообщений: 324
|
|||||||
| 19.12.2014, 14:52 | |||||||
|
видимо, надо читать хелп/доку на плагин к "тоталу" а еще лучше пользоваться штатными средствами - "проводником" виндовс, и проблем меньше, и документации больше А как прилепить &computername& к имени винрар-архива, то тут варианты: 1. "закатать" в архив с любым именем (pre-name.rar), а после окончания архивирования переименовать как нибудь так:
2. попытаться все-таки воткнуть &computername& в параметры винрара - т.е. сравнив эти две строки: WinRarParameters = "a -scoglc -s -r -rr10p -dh -ed -m3 -ag"&strComputerName&"_DD-WW-MMM-YYYY_HH-MM-SS" WinRarArhivDate = "-ag+DD-WW-MMM-YYYY_HH-MM-SS%computername%" сделать из них третью, например так: strParam-pam-pam = "a -scoglc -s -r -rr10p -dh -ed -m3 -ag+" & strComputerName & "_DD-WW-MMM-YYYY_HH-MM-SS" (у вас во второй строке есть плюс после -ag, а в первой - нет) но проверьте еще, может и третья строка тоже не сработает (пробелы, там в strComputerName или еще што...) А по "тоталу" может еще кто подскажет, кто "в теме" - надейтесь на лучшее!
1
|
|||||||
|
102 / 60 / 15
Регистрация: 29.01.2014
Сообщений: 119
|
|||||||
| 19.12.2014, 15:12 | |||||||
1
|
|||||||
|
9 / 9 / 0
Регистрация: 14.10.2014
Сообщений: 69
|
|
| 19.12.2014, 15:37 [ТС] | |
|
С вытягиванием имен из тотала начало получаться. Вопрос снимается.
Остается пока текущий вопрос с тем, что вместо имени ПК в название кладется белиберда или имя ПК. Даже если я просто кидаю туда фиксированное значение некоторые буквы он подменяет на что ему угодно. К примеру букву А меняет на цифру 4. Насчет плюсов можете не переживать, они даже в документации к винрару идут в качестве примера. Не обращайте внимание.
0
|
|
|
102 / 60 / 15
Регистрация: 29.01.2014
Сообщений: 119
|
|
| 19.12.2014, 16:04 | |
|
inzaim, пример:
1
|
|
|
9 / 9 / 0
Регистрация: 14.10.2014
Сообщений: 69
|
|
| 19.12.2014, 16:11 [ТС] | |
|
0
|
|
|
102 / 60 / 15
Регистрация: 29.01.2014
Сообщений: 119
|
||||||
| 19.12.2014, 16:23 | ||||||
1
|
||||||
|
9 / 9 / 0
Регистрация: 14.10.2014
Сообщений: 69
|
|||||||
| 19.12.2014, 16:28 [ТС] | |||||||
|
Из командной строки работает, да. Из скрипта частично, но меняет буквы )))
Добавлено через 3 минуты Не срабатывает. Попробуй весь целиком запустить у себя.
0
|
|||||||
|
102 / 60 / 15
Регистрация: 29.01.2014
Сообщений: 119
|
||||||
| 19.12.2014, 16:38 | ||||||
|
А у мя работает
1
|
||||||
|
251 / 239 / 16
Регистрация: 31.12.2009
Сообщений: 324
|
||||||
| 19.12.2014, 18:58 | ||||||
|
inzaim , если в нижеприведенном варианте MsgBox выводит ожидаемую строку
буквы не меняет, то попробуйте, может сохранить ваш скрипт как ANSI а не UNICODE Может это винрар "косячит"?
1
|
||||||
|
102 / 60 / 15
Регистрация: 29.01.2014
Сообщений: 119
|
|||||||||||
| 19.12.2014, 19:10 | |||||||||||
|
buggydancer, да нет, не в этом дело.
да и весь скрипт не видно. вообщем сравните строки
2
|
|||||||||||
|
251 / 239 / 16
Регистрация: 31.12.2009
Сообщений: 324
|
||||
| 19.12.2014, 19:51 | ||||
|
но мне почему-то кажется, что если:
без изменений получится только если в strComputerName нет вышеперечисленных спецсимволов, выходит, что вставлять strComputerName в имя файла надо после архивации, обычным переименованием
1
|
||||
|
102 / 60 / 15
Регистрация: 29.01.2014
Сообщений: 119
|
||||||
| 19.12.2014, 21:22 | ||||||
|
buggydancer, немного не то, нужно указывать имя будущего ирхива, что соответственно мы и делаем задавая его в параметрах, можно и не указывать - тогда имя ахива будет соответствовать архивированному файлу, а нам нужно добавить имя комп. (так или нет?)
WinRarParameters = "a -scoglc -s -r -rr10p -dh -ed -m3 -agDD-WW-MMM-YYYY_HH-MM-SS "+strComputerName+"_" и вот к нему добавится дата и не пропущен пробел, а он там не нужен. Пример:
2
|
||||||
|
251 / 239 / 16
Регистрация: 31.12.2009
Сообщений: 324
|
|
| 19.12.2014, 21:29 | |
|
1
|
|
|
9 / 9 / 0
Регистрация: 14.10.2014
Сообщений: 69
|
|||||||||||||||||||||
| 23.12.2014, 12:58 [ТС] | |||||||||||||||||||||
|
Спасибо всем за участие.
К сожалению вписать имя ПК в имя архива не удалось. Переименовывать не хотелось, поэтому я пошел немного другим путем. Добавил в описание самого архива необходимую мне информацию. Внимание! Это не является финальным вариантом и поэтому работает "как есть". Вот как все это работает. Запускаем файл run.wsf
Вот его содержимое:
Содержимое файла RarComment.bat
MD5sums 1.2 freeware for Win9x/ME/NT/2000/XP+ от Jem Berkes, брал на pc-tools.net Затем запускается почтовый скрипт и отправляется на почту уведомление о бекапе. Пока не настраивал но сам скрипт ниже:
Пока остается несколько нерешенных задач: 1 - Почему не срабатывает кнопка ОТМЕНА, при выборе папки? 2 - Как поставить ожидание, чтобы VBS подождал выполнения скрипта *.bat 3 - ....... может еще что-то всплывет в процессе.
1
|
|||||||||||||||||||||
|
9 / 9 / 0
Регистрация: 14.10.2014
Сообщений: 69
|
|||||||||||
| 24.12.2014, 17:02 [ТС] | |||||||||||
|
Добрый день.
Получилось сделать рабочую версию для TotalCommander 8.51a 64bit. Для связки TC и VBS использовал плагин TCIMG от Averin Andrey. Для начала создадим кнопку в ТС со следующими параметрами:
Отправка почты реализуется скриптом, который я выкладывал выше. За время разработки созрели вопросы, которые пока не в состоянии решить: 1. Класть в имя архива имя ПК(некритично)? 2. Как реализовать докачку файлов архива на сервер, если происходит обрыв соединения? 3. Как передавать параметры и лог файл работы WinRAR почтовому скрипту, чтобы тот отдавал в ящик приемлемый отчет о своей работе. ...Уффф... Вроде пока все.
1
|
|||||||||||
|
9 / 9 / 0
Регистрация: 14.10.2014
Сообщений: 69
|
|
| 22.01.2015, 12:53 [ТС] | |
|
Для корректной передачи данных решил использовать программу killcopy. Она может работать как в GUI в windows, так и в консольном режиме.
Возник вопрос, как передать имя архива в данную программу?
0
|
|
|
251 / 239 / 16
Регистрация: 31.12.2009
Сообщений: 324
|
||||||
| 22.01.2015, 19:16 | ||||||
|
inzaim, если верить её сайту: http://www.killprog.com/killcopyr.html то примерно так:
archive\current - путь куда копировать (видимо UNC либо примапленный на локальный драйв)
0
|
||||||
|
9 / 9 / 0
Регистрация: 14.10.2014
Сообщений: 69
|
|
| 23.01.2015, 10:24 [ТС] | |
|
Вы меня неверно поняли. Я не понимаю как на VBS передать для killcopy сформированное винраром имя.
А с самими ключами и консольным режимом работы killcopy уже ознакомился.
0
|
|
|
251 / 239 / 16
Регистрация: 31.12.2009
Сообщений: 324
|
||||||
| 23.01.2015, 14:24 | ||||||
|
inzaim, раз уж вы полагаетесь на винрар при генерации имени вашего архива, а не делаете его самостоятельно, а потом подсовываете в архиватор, то представляется что перед запуском архиватора надо "снять" список файлов в строку (например), а после окончания работы архиватора сравнить текущий состав файлов с сохраненным, приведенный скрипт это и делает
Вставьте вызов архиватора в место где написан комментарий
1
|
||||||
| 23.01.2015, 14:24 | |
|
Помогаю со студенческими работами здесь
20
Total Commander Атрибуты в Total Commander Совместимость с total commander
Панели в Total Commander Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|