Что нового

[Сеть, интернет] Создание Log файла после копирования.

Timerlan

Новичок
Сообщения
93
Репутация
0
Решил создать новую тему. Ребят помогите есть скрипт'ик для множественного копирования файлов на разные ПК. http://autoit-script.ru/index.php/topic,9142.30.html
Вот он:

Код:
#include <file.au3>
$open ='путь к папке, которую будем копировать';пример - C:\test
Dim $szDrive, $szDir, $szFName, $szExt
$TestPath = _PathSplit($open, $szDrive, $szDir, $szFName, $szExt)

Dim $array[4]

$array[0] = '\\10.2.1.1\c$\Update'
$array[1] = '\\10.2.1.2\c$\Update'
$array[2] = '\\10.2.1.3\c$\Update'
$array[3] = '\\10.2.1.4\c$\Update'
;удаление папки
For $i =0 To UBound($Array)-1
    $name = StringRegExpReplace($array[$i],'[\:\\]','')
    $write = FileOpen(@TempDir & '\' & $name & '.tmp' ,2)
    FileWrite($write,'DirRemove('& "'" & $array[$i] & "'" & ',1)')
    FileClose($write)
    Run(@AutoItExe & ' /AutoIt3ExecuteScript ' & @TempDir & '\' & $name & '.tmp')
    Next


Суть задачи заключается в следующем в этот скрипт нужно добавить, чтоб он сначала завершал процесс Launcher.exe и Stp.exe если такие процессы запущены, если нет то пропускать, после это начинал процесс копирования это уже есть. После копирование был создан Log файла или Log' ов файлов о том, что файлы успешно скопированы, а там где был выключен ПК или по другим причинам не было доступа, чтоб тоже создавал Log о том, что файлы не удалось скопировать, и чтоб было понятно куда скопировалось куда нет, чтоб он как то отмечал по IP адресам. Помогите плиз.
 
Автор
T

Timerlan

Новичок
Сообщения
93
Репутация
0
Ну че никто не знает чтоли как это можно реализовать???
 
Автор
T

Timerlan

Новичок
Сообщения
93
Репутация
0
Народ помогите хоть, чтоб процесс завершать на удаленном компе как?
 

joiner

Модератор
Локальный модератор
Сообщения
3,570
Репутация
632
http://autoit-script.ru/index.php/topic,7778.msg53010.html#msg53010
если известно точное время копирования то на клиентских компах в автозагрузку поместить скрипт, который за пару минут до копирования будет убивать процессы.
 
Автор
T

Timerlan

Новичок
Сообщения
93
Репутация
0
Нее мне нужно как то, чтоб удаленно убивать процесс. Может WMI подключить как то в AutoIt и убить процесс? Просто ваще чет пока не получется ни как((
 

joiner

Модератор
Локальный модератор
Сообщения
3,570
Репутация
632
Timerlan
если копирование запланированное и согласованное (безопасное и законное), то ставь клиента на компы для тушения процессов и копируй..
 
Автор
T

Timerlan

Новичок
Сообщения
93
Репутация
0
в том то и дело что не запланировано. Просто выходят новые обновлении для программы мы не знаем когда они выйдут, и их нужно обновлять это прога стоит на 100 ПК. Просто каждого пользователя не хочется обзванивать и говорить выйдите с программы. а нужно просто чтоб завершал процесс и спокойно обновлялся. если с программы не выйти то он не обновляется
 

sngr

AutoIT Гуру
Сообщения
1,015
Репутация
411
Обновляй ночью, когда никого нет.
 

joiner

Модератор
Локальный модератор
Сообщения
3,570
Репутация
632
Timerlan [?]
а нужно просто чтоб завершал процесс и спокойно обновлялся. если с программы не выйти то он не обновляется
тогда точно никак..если завершить процесс, то это может критически отразиться на работе программы. так как процесс будет выгружен принудительно..кроме того - потеря данных и прочее.
если обновление вышло, то не критично, если ты обновишь прогу ровно в восемь утра, когда включается комп клиента..пропинговал ( если адреса фактические, либо через существование папки..я писал об этом в другой теме) компы и копируй на те, что подключились..
можно поставить клиент-скрипты на компах, которые по сигналу будут корректно завершать работу программы. но лучше безгеморройный вариант - получил обновления и на следующий день их скинул на компы клиентов, когда они только появились в сети
 
Автор
T

Timerlan

Новичок
Сообщения
93
Репутация
0
а ваще можно нет такое реализавать в autoit чтоб завершал процесс по сети?
 
Верх