Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Приостановка или перезапуск процесса

Ответить
Настройки темы
Любой язык - Приостановка или перезапуск процесса

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте!
Отправляю файл на почту в письме через vbs скрипт, файл для отправки 1 постоянно перезаписывется и обновляется круглосуточно программой, запущенной от имени админ-пользователя.
Когда запускается скрипт он отсылает письмо, но без вложения, т.к. этот файл мониторит(используется) запущенной программой.
Можно ли переделать скрипт ниже, чтобы он находил этот процесс не по имени сразу, а по расположению, потом устранял и перезапускал его после отправки почты?
Ну или как-то взаимодействовать с bat/cmd?
Код: Выделить весь код
On Error Resume Next
Dim o_Mess, v_Conf
v_Conf = "http://schemas.microsoft.com/cdo/configuration/"
Set o_Mess = CreateObject("CDO.Message")
With o_Mess
    .To = "TO"
    .From = "FROM"
    .Subject = "HeLLo"
    .TextBody = "*msg*"
    .AddAttachment "C:\users\PC\app data\programdir\file.zip"
    .TextBodyPart.Charset = "windows-1251"
With .Configuration.Fields
    .Item(v_Conf & "sendusing") = 2
    .Item(v_Conf & "smtpserver") = "smtp.mail.ru"
    .Item(v_Conf & "smtpauthenticate") = 1
    .Item(v_Conf & "sendusername") = "FROMLOGIN"
    .Item(v_Conf & "sendpassword") = "PASS"
    .Item(v_Conf & "smtpserverport") = 25
    .Item(v_Conf & "smtpusessl") = False
    .Item(v_Conf & "smtpconnectiontimeout") = 65
    .Update
End With
    .send
End With
Set o_Mess = Nothing

Отправлено: 11:39, 17-09-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


solomonkane, на какой ОС работает «круглосуточно программа, запущенная от имени админ-пользователя»?

Отправлено: 12:10, 17-09-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, windows 7

вот сам нарыл только это, может поможет в решений данной проблемы, но немного не то:
Код: Выделить весь код
Restart Program Script:

set Service = GetObject ("winmgmts:")
set Shell = WScript.CreateObject("WScript.Shell")

'Name of the exe we want to watch
sEXEName = "processing.exe"
'Path of the folder it is in (Don't forget the trailing \)
sApplicationPath = "C:\process\"

'Loop until the system is shutdown or user logs out
while true 
 bRunning = false

 'Look for our application. Set the flag bRunning = true
 'If we see that it is running 

 for each Process in Service.InstancesOf ("Win32_Process")
  if Process.Name = sEXEName then
   bRunning=true
  End If
 next

'Is our app running?

if (not bRunning) then
 'No it is not, launch it
 Shell.Run Chr(34) & sApplicationPath & sEXEName & Chr(34)
end if

'Sleep a while so we do not hog the cpu
WScript.Sleep(2000)

wend
только следит чтоб программа не закрывалась и постоянно висит в процессах

Отправлено: 12:25, 17-09-2014 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


solomonkane, я бы, вместо того, чтобы снимать процесс, попробовал использовать теневую копию.

Теневая копия — Википедия
Volume Shadow Copy Service
Shadow Copy из командной строки | PowerShell и другие скрипты

Отправлено: 12:55, 17-09-2014 | #4


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, спасибо за ответ
тогда у меня еще вопрос.
чтобы не заморачиваться с сервисами наверно проще этот файл скопировать а потом уже отправлять,
а как батником или в скрипте почты (ну или отдельно) зделать, так, чтобы:
искал нужный файл в ЗАДАННОЙ папке или диске, когда найдет копировал в другую папку создавая ее если не существует, а если папка уже есть - копирование в нее с перезаписью
и еще учитывать пробелы в имени файла и папок?

Отправлено: 16:11, 17-09-2014 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата solomonkane:
чтобы не заморачиваться с сервисами наверно проще этот файл скопировать а потом уже отправлять, »
«Заморачиваться», я полагаю. придётся.

Цитата solomonkane:
а как батником или в скрипте почты (ну или отдельно) зделать, так, чтобы:
искал нужный файл в ЗАДАННОЙ папке или диске, когда найдет копировал в другую папку создавая ее если не существует, а если папка уже есть - копирование в нее с перезаписью
и еще учитывать пробелы в имени файла и папок? »
Данный вопрос как-то относится к текущей теме?

Отправлено: 16:42, 17-09-2014 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Приостановка или перезапуск процесса

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Перезапуск процесса Папуас Скриптовые языки администрирования Windows 3 07-12-2013 07:54
2008 R2 - Приостановка печати Rasputin87 Windows Server 2008/2008 R2 10 11-06-2013 22:34
CMD/BAT - [решено] Перезапуск процесса explorer.exe в Windows 7 х64 помощью "bat" файла. Spiki Скриптовые языки администрирования Windows 15 28-08-2012 13:09
Любой язык - Перезапуск процесса горячей клавишей Mr.Serg Скриптовые языки администрирования Windows 0 05-03-2011 16:29
Не удалось получить доступ или установить принадлежность процесса? GifuN Microsoft Windows NT/2000/2003 0 14-01-2008 14:03




 
Переход