Что нового

продолжение работы после вызова Run()

N0rB

Новичок
Сообщения
4
Репутация
0
Добрый день.
Небольшой вопрос :smile:
Архивирую папку с помощью rar.exe. После запуска Run() скрипт завершается и работает архиватор.
Нужно чтобы скрипт ждал окончания процесса архивации (по возможности выводя данные о процессе в файл) и после окончания созданый архив копировался в несколько разных папок.
Примерный код нашел на
http://forum.oszone.net/thread-139946.html
что сюда еще нужно добавить?

Код:
$Pach_rar = "E:\backup\" & @ComputerName & "_" & @UserName & "_" & @WDAY & ".rar"

; Создаем папку для хранения архивов
DirCreate("E:\backup")


;~ Расположение консольной программы архиватора rar:
$rar = @ProgramFilesDir & "\WinRAR\rar.exe"

;~ Имя создаваемого архива:
$ArchiveName = $Pach_rar
;~ Указываем расположежние копируемой папки
$addFiles ="С:\123\"

;~ Задаём параметры архивации:
$param = ' a' & $ArchiveName & $addFiles
Run($rar & $param,"",1)
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1 542
Репутация
327
N0rB [?]
Нужно чтобы скрипт ждал окончания процесса архивации
Код:
RunWait()

Функции копирования. Не поленитесь в справку заглянуть.
Код:
FileCopy()
DirCopy()
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
N0rB
Предупреждение
Обрамляем код тэгом
- [autoit][/autoit]

Есть два способа
1. Скрипт встает на паузу до окончания процесса вызванного через Run
Код:
RunWait()

никаких промежуточных операций.
2. запускается цикл с ожиданием и опросом определенный состояний или выводом консольной информации от того же архиватора
Код:
$Pach_rar = "E:\backup\" & @ComputerName & "_" & @UserName & "_" & @WDAY & ".rar"

; Создаем папку для хранения архивов
DirCreate("E:\backup")


;~ Расположение консольной программы архиватора rar:
$rar = @ProgramFilesDir & "\WinRAR\rar.exe"

;~ Имя создаваемого архива:
$ArchiveName = $Pach_rar
;~ Указываем расположежние копируемой папки
$addFiles ="С:\123\"

;~ Задаём параметры архивации:
$param = ' a' & $ArchiveName & $addFiles
$pid = Run($rar & $param,"",1)
While ProcessExists($pid)
   ;Некоторый код. например вывод определенной инфы в консоль
   Sleep(100)
WEnd
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1 542
Репутация
327
Kaster
Я настоятельно рекомендую снять галочку "Не предупреждать о появившихся ответах во время написания собственного сообщения."
 
Автор
N0rB

N0rB

Новичок
Сообщения
4
Репутация
0
Medic84 сказал(а):
Функции копирования. Не поленитесь в справку заглянуть.
функции я знаю =) . спс за замечание.



Добавлено:
Сообщение автоматически объединено:

Kaster, Medic84 спасибо за помощь. :IL_AutoIt_1:
 
Верх