tasklist | find "process.exe"
if not errorlevel 1 (
::замена файлов
)
что-то подробнее можно написать только в случае подробного описания какие файлы менять и на какие.
|
чтобы он постоянно проверял или с каким-то интервалом по времени? во втором случае через шедулер, в первом - бесконечный цикл (GOTO в помощь) если проверять до наступления определенного события то с флагом на выход после события.
а вообще с подобной постановкой вопроса это сюда.
|
Цитата:
Цитата Hancog
нужно удалить 2 файли а потом их скопировать »
|
Если их «удалить», то «скопировать» их же потом никак не получится ;).
|
ну поставьте задачу в планировщике задач с нужным интервалом и пускай он запускает ваш батник бесконечно.
|
Ну, это нечто иное нежели озвученное ранее ;).
Имя процесса? Пути к файлам для удаления (не «к примеру»)? Далее: вот мы удалили/скопировали файлы — что дальше делаем?
|
Не надо объяснять по три раза. Ответьте на заданные вопросы. Один раз.
|
Понятно. Но один вопрос остался без ответа:
Цитата:
Цитата Iska
Далее: вот мы удалили/скопировали файлы — что дальше делаем? »
|
Просто завершаем работу пакетного файла? Или — что?
|
На WSH, пробуйте:
читать дальше »
Код:
Option Explicit
Dim strProcessName
Dim arrPaths
Dim strLocalAppDataPath
Dim arrItem
Dim objSWbemServicesEx
strProcessName = "chrome.exe"
strLocalAppDataPath = WScript.CreateObject("Shell.Application").NameSpace("shell:Local AppData").self.Path
With WScript.CreateObject("Scripting.FileSystemObject")
arrPaths = Array( _
Array(.BuildPath(strLocalAppDataPath, "Google\Chrome\User Data"), "Local State"), _
Array(.BuildPath(strLocalAppDataPath, "Google\Chrome\User Data\Default"), "Preferences") _
)
For Each arrItem In arrPaths
If Not .FileExists(arrItem(1)) Then
WScript.Echo "Source file [" & arrItem(1) & "] not found."
WScript.Quit 1
End If
If Not .FolderExists(arrItem(0)) Then
WScript.Echo "Destination folder [" & arrItem(0) & "] not found."
WScript.Quit 2
End If
Next
Set objSWbemServicesEx = WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2")
Do
WaitForCloseAllProcesses
For Each arrItem In arrPaths
.CopyFile arrItem(1), .BuildPath(arrItem(0), arrItem(1)), True
Next
WaitForStartAnyProcess
Loop
Set objSWbemServicesEx = Nothing
End With
WScript.Quit 0
'=============================================================================
'=============================================================================
Sub WaitForCloseAllProcesses()
Do Until objSWbemServicesEx.ExecQuery( _
"SELECT * FROM Win32_Process WHERE Name = '" & strProcessName & "'" _
).Count = 0
objSWbemServicesEx.ExecNotificationQuery( _
"SELECT * FROM __InstanceDeletionEvent " & _
"WITHIN 1 WHERE TargetInstance ISA 'Win32_Process' AND " & _
"TargetInstance.Name = '" & strProcessName & "'" _
).NextEvent
Loop
End Sub
'=============================================================================
'=============================================================================
Sub WaitForStartAnyProcess()
objSWbemServicesEx.ExecNotificationQuery( _
"SELECT * FROM __InstanceCreationEvent " & _
"WITHIN 1 WHERE TargetInstance ISA 'Win32_Process' AND " & _
"TargetInstance.Name = '" & strProcessName & "'" _
).NextEvent
End Sub
'=============================================================================
|
Цитата:
Цитата Hancog
Пишет что не найден сценарий, »
|
Сохраните приведённый код в файл с расширением «.vbs», а не «.wsh». «.wsh» — файл параметров сценария.
|
Цитата:
Цитата Hancog
А можно еще дописать в первый раз chrome выключался - заменялись файлы - он включался,т.е перезагрузка с заменой, »
|
Опишите иначе. Не могу понять.
Цитата:
Цитата Hancog
И еще как прекратить сценарий? вручную »
|
Сняв соответствующий процесс «wscript.exe»/«cscript.exe» в Диспетчере задач.
|
Цитата:
Цитата Hancog
возможно вперед добавить закрытие процесса »
|
Зачем? Снятие браузера чревато — однозначно слетит кэш, иногда — перечень открытых вкладок, бывает, что и закладки отправляются в небытие.
|
Вы не ответили на вопрос.
|
Цитата:
Цитата Hancog
поставить скрипт в автозагрузку »
|
Задайте исполнение скрипта посредством групповой политики «на пользователя».
Цитата:
Цитата Hancog
если хром на пк открыт при запуске скрипта (это если пк только стартовал) »
|
Google Chrome не открыт в этот момент.
А самым правильным будет ознакомиться вот с этим: Chrome for Business FAQ - Chrome for Business and Education Help и использовать групповые политики.
Цитата:
Цитата Hancog
и сбрасывались все настройки на дефолт »
|
Это очень плохо.
|
Управление посредством групповых политик — наиболее гибкий и надёжный инструмент управления окружением из возможных.
Цитата:
Цитата Hancog
но все же к примеру если браузер остался открытым »
|
Что значит «остался открытым»? Откуда он возьмётся в момент применения политики, когда будет исполняться скрипт? Я же сказал — просто назначьте исполнение скрипта групповой политикой «на пользователя»: Assign User Logon Scripts.
|
Цитата:
Цитата Hancog
Не могли бы вы в скрипт дописать ? мне было бы намного проще... »
|
Что дописать?
|
Hancog, я думал, что достаточно популярно объяснил, что сие совершенно лишнее в Вашем случае использования.
|
1. Вам ни в том, ни в другом случае это «дописывание» не понадобится.
2. Листать не надо, я же уже выше «пролистал» Вам до нужного места, могу повторить: Assign User Logon Scripts. Вот Вам ещё, по-русски, для домена и без: А читать — да, придётся.
|
Можно-ли отследить наличие процесса приложения на сервере из-под пользователя в домене?
|
Пользователь обладает административными правами?
|
Цитата:
Цитата Iska
Пользователь обладает административными правами? »
|
Только на своей машине. На сервере нет.
Вопрос по консультант-плюс. Лежит на сервере в общем доступе. Пробовал отслеживать появление логов (как вариант), но начала\завершения использования программы не увидел.
|
sov44, тогда я сомневаюсь, что сие возможно.
|
Время: 20:52.
© OSzone.net 2001-