Javascript-форум (https://javascript.ru/forum/)
-   Я не знаю javascript (https://javascript.ru/forum/ya-ne-znayu-javascript/)
-   -   Ошибка: Файл занят другим процессом (https://javascript.ru/forum/ya-ne-znayu-javascript/3780-oshibka-fajjl-zanyat-drugim-processom.html)

Iron Mind 23.05.2009 10:28

Ошибка: Файл занят другим процессом
 
Здравствуйте. Итак, скрипт выполняет вот что - архивирует указанную папку и отправляет созданный архив на почтовый адрес. Проблема: при выполнении выходит сообщение, что то вроде "SendMail Erorr!: Невозможно обработать файл т.к. файл занят другим процессом". Похоже, скрипт пытается отпрпавить архив в тот момент когда архиватор еще не закончил паковку. Как можно решить данную проблему?

Gvozd 23.05.2009 11:58

вы бы хоть какие-то уточнения сделали.
[telepatemod]
вы пишите программу на WSH?
а как вы упаковываете?
вызываете архиватор как приложение командной строки с помощью
WSHShell.Run("rar -param",5);

делайте так:
WSHShell.Run("rar -param",5,true);

судя по всему третий параметр отвечает за синхронность запуска приложения.
по умолчанию приложение запускается асинхронно, а спомощью третьего параметра мы запускаем его синхронно, и тем самым дожидаемся пока оно отработает.
более точно в гугл, но по крайней мере третий параметр работает именно так внешне
[/telepatemod]

Iron Mind 23.05.2009 12:26

Цитата:

Сообщение от Gvozd (Сообщение 19851)
вы бы хоть какие-то уточнения сделали.
[telepatemod]
вы пишите программу на WSH?
а как вы упаковываете?
вызываете архиватор как приложение командной строки с помощью
WSHShell.Run("rar -param",5);

делайте так:
WSHShell.Run("rar -param",5,true);

судя по всему третий параметр отвечает за синхронность запуска приложения.
по умолчанию приложение запускается асинхронно, а спомощью третьего параметра мы запускаем его синхронно, и тем самым дожидаемся пока оно отработает.
более точно в гугл, но по крайней мере третий параметр работает именно так внешне
[/telepatemod]

Спасибо! Извините что не очень уточнил. Думаю это поможет. Благодарю!


Часовой пояс GMT +3, время: 17:05.