Спасибо, я нашёл Microsoft Windows Script Host 2.0 Developer's Guide на русском, то что нужно.)
» Программирование "удобняшек" на VBScript (Часть 2)
Привет всем, нужна помощь в написании скрипта, никак не могу разобраться с пробелами.
Задача простая - архивация файлов
Есть вот такая структура
Задаваемые параметры
Archivator="C:\Program Files\7-Zip\7z.exe"
ArchivParam1="a"
Далее формируем команду:
ArchivCommand1=CHR(34) & Archivator & ArchivParam1 & CHR(34)
Запускаем ее
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ArchivCommand1, 1, vbTrue
Соответственно получаем ошибку "не удается найти указанный файл"
я так понимаю что Run не находит файл по этому пути C:\Program Files\7-Zip\7z.exe т.к. в нем пробелы.
Как обойти? Поисковики замучил, ответа на свой вопрос не нашел, возможно что не правильно искал.
Заранее благодарен.
lion shadow
можно ссылку в личку, очень бы пригодилось. Спасибо.
Задача простая - архивация файлов
Есть вот такая структура
Задаваемые параметры
Archivator="C:\Program Files\7-Zip\7z.exe"
ArchivParam1="a"
Далее формируем команду:
ArchivCommand1=CHR(34) & Archivator & ArchivParam1 & CHR(34)
Запускаем ее
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ArchivCommand1, 1, vbTrue
Соответственно получаем ошибку "не удается найти указанный файл"
я так понимаю что Run не находит файл по этому пути C:\Program Files\7-Zip\7z.exe т.к. в нем пробелы.
Как обойти? Поисковики замучил, ответа на свой вопрос не нашел, возможно что не правильно искал.
Заранее благодарен.
lion shadow
можно ссылку в личку, очень бы пригодилось. Спасибо.
Svyazist
ArchivCommand1=CHR(34) & Archivator & CHR(34)& " " & ArchivParam1
Поскольку файла «C:\Program Files\7-Zip\7z.exea» дейчтвительно не существует
ArchivCommand1=CHR(34) & Archivator & CHR(34)& " " & ArchivParam1
Поскольку файла «C:\Program Files\7-Zip\7z.exea» дейчтвительно не существует
Evgeny972
Цитата:
Прошу прощения, конечно структура с пробелом.
Пытаюсь вывести на экран команду, она выводится правильная, с пробелом, но в итоге все-равно ошибка "не удается найти указанный файл"
Цитата:
ArchivCommand1=CHR(34) & Archivator & CHR(34)& " " & ArchivParam1
Поскольку файла «C:\Program Files\7-Zip\7z.exea» дейчтвительно не существует
Прошу прощения, конечно структура с пробелом.
Пытаюсь вывести на экран команду, она выводится правильная, с пробелом, но в итоге все-равно ошибка "не удается найти указанный файл"
Archivator="C:\Progra~1\7-Zip\7z.exe"
?
?
megamozg13
Цитата:
Спасибо, это поможет только для Program files. Как быть с другими путями не системных папок?
Цитата:
Archivator="C:\Progra~1\7-Zip\7z.exe"
?
Спасибо, это поможет только для Program files. Как быть с другими путями не системных папок?
Вот нашел у забугорных коллег:
Цитата:
Цитата:
Function qq(strIn)
qq = Chr(34) & strIn & Chr(34)
End Function
Set wshShell = WScript.CreateObject ("WSCript.shell")
wshshell.run qq("C:\Program Files\WinRAR\WinRAR.exe"), 6, True
set wshshell = Nothing
Svyazist
Цитата:
Что выводится на экран? Это:
"C:\Program Files\7-Zip\7z.exe a". Так это неправильно. Файла «7z.exe a» тоже не существует
Правильно
"C:\Program Files\7-Zip\7z.exe" a
Добавлено:
Если запустить, то что ты привел, действительно: Система не может…
Если заменить, как я сказал
Код: Archivator="C:\Program Files\7-Zip\7z.exe"
ArchivParam1=" a"
ArchivCommand1=CHR(34) & Archivator & CHR(34)& ArchivParam1
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ArchivCommand1, 1, vbTrue
Цитата:
Пытаюсь вывести на экран команду, она выводится правильная, с пробелом
Что выводится на экран? Это:
"C:\Program Files\7-Zip\7z.exe a". Так это неправильно. Файла «7z.exe a» тоже не существует
Правильно
"C:\Program Files\7-Zip\7z.exe" a
Добавлено:
Если запустить, то что ты привел, действительно: Система не может…
Если заменить, как я сказал
Код: Archivator="C:\Program Files\7-Zip\7z.exe"
ArchivParam1=" a"
ArchivCommand1=CHR(34) & Archivator & CHR(34)& ArchivParam1
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ArchivCommand1, 1, vbTrue
megamozg13
Evgeny972
Цитата:
Спасибо за помощь, привел к этому виду, , все заработало
Archivator="C:\Program files\7-Zip\7z.exe"
ArchivParam1=Probel & "a" & Probel & Destinition & Data & ".7z" & Probel & "-slp" & Probel & SorceFolder & Probel & "-ssw" & Probel & "-sccUTF-8" & Probel & ">" & Destinition & Data & ".txt"
ArchivCommand1=CHR(34) & Archivator & CHR(34)& ArchivParam1
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "%comspec% /c " & ArchivCommand1, 0, vbTrue
Probel соответственно - " "
SorceFolder, Destinition, Data - переменные.
Может кому пригодится такая структура для архивирования папок.
И еще вопрос, есть некая переменная в которую пишутся сообщения в процессе работы скрипта. Переменная по умолчанию, не массив. Потом данные из этой переменной отправляем в теле письма т.е. вставляем в objEmail.Textbody Получается примерно так:
Message = " текст1" & VbCrLf
Message = Message & "текст2" & VbCrLf
objEmail.Textbody = Message
В итоге в теле письма приходит все в одну строчку, как обойти?
Думаю либо писать сначала в отдельный временный файл методом writeline, потом считывать построчно, либо может использовать массив. Подскажите пожалуйста.
Evgeny972
Цитата:
Archivator="C:\Program Files\7-Zip\7z.exe"
ArchivParam1=" a"
ArchivCommand1=CHR(34) & Archivator & CHR(34)& ArchivParam1
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ArchivCommand1, 1, vbTrue
Спасибо за помощь, привел к этому виду, , все заработало
Archivator="C:\Program files\7-Zip\7z.exe"
ArchivParam1=Probel & "a" & Probel & Destinition & Data & ".7z" & Probel & "-slp" & Probel & SorceFolder & Probel & "-ssw" & Probel & "-sccUTF-8" & Probel & ">" & Destinition & Data & ".txt"
ArchivCommand1=CHR(34) & Archivator & CHR(34)& ArchivParam1
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "%comspec% /c " & ArchivCommand1, 0, vbTrue
Probel соответственно - " "
SorceFolder, Destinition, Data - переменные.
Может кому пригодится такая структура для архивирования папок.
И еще вопрос, есть некая переменная в которую пишутся сообщения в процессе работы скрипта. Переменная по умолчанию, не массив. Потом данные из этой переменной отправляем в теле письма т.е. вставляем в objEmail.Textbody Получается примерно так:
Message = " текст1" & VbCrLf
Message = Message & "текст2" & VbCrLf
objEmail.Textbody = Message
В итоге в теле письма приходит все в одну строчку, как обойти?
Думаю либо писать сначала в отдельный временный файл методом writeline, потом считывать построчно, либо может использовать массив. Подскажите пожалуйста.
Svyazist
WriteLine пишет тоже VbCrLf, для разделения строк (стандарт Windows).
Попробуй ещё в качестве разделителя строк для Message VbLf или VbCr.
WriteLine пишет тоже VbCrLf, для разделения строк (стандарт Windows).
Попробуй ещё в качестве разделителя строк для Message VbLf или VbCr.
Подскажите как нажать на окне в панели задач кнопку свернуть?
запускаю OUTLOOK 2010
Код: function main($state)
{
// Производим запуск
$WSHShell=WScript.CreateObject("WScript.Shell");
$WSHShell.Run("OUTLOOK.EXE", 7, $state);
};
// Запускаем приложение свернутым в трей
main(2);
запускаю OUTLOOK 2010
Код: function main($state)
{
// Производим запуск
$WSHShell=WScript.CreateObject("WScript.Shell");
$WSHShell.Run("OUTLOOK.EXE", 7, $state);
};
// Запускаем приложение свернутым в трей
main(2);
Подскажите пожалста, а то совсем не шарю
Нужно с задержкой включить vpn-соединение
WScript.Sleep 50000
Set WshExec = WshShell.Exec("C:\001\lan2\vpn.lnk")
Пишет - файл не является приложением Win32
Нужно с задержкой включить vpn-соединение
WScript.Sleep 50000
Set WshExec = WshShell.Exec("C:\001\lan2\vpn.lnk")
Пишет - файл не является приложением Win32
D77
во-первых нет ссылки на объект WSHShell, во-вторых, не совсем понял для чего нужно торкать линк.
Код: Set WSHShell = WScript.CreateObject("WScript.Shell")
strExecute = "C:\001\lan2\vpn.lnk"
WSHShell.Run strExecute, 0, False
во-первых нет ссылки на объект WSHShell, во-вторых, не совсем понял для чего нужно торкать линк.
Код: Set WSHShell = WScript.CreateObject("WScript.Shell")
strExecute = "C:\001\lan2\vpn.lnk"
WSHShell.Run strExecute, 0, False
ComradG
А как торкнуть само соединение я не знаю
Подскажите
А как торкнуть само соединение я не знаю
Подскажите
D77
а мне, если честно, влом объяснять. да и с vpn'ами я не особо люблю возиться через wsh-скрипты.
а мне, если честно, влом объяснять. да и с vpn'ами я не особо люблю возиться через wsh-скрипты.
ComradG
StartMinimized работает и в трее появляется оутлук ,но он дублируется злостным окном , которое никак не исчезает из панели задач, писал на делфи програмку которая ищет все заголовки и поочереди сворачивает их через win api -толку нет
StartMinimized работает и в трее появляется оутлук ,но он дублируется злостным окном , которое никак не исчезает из панели задач, писал на делфи програмку которая ищет все заголовки и поочереди сворачивает их через win api -толку нет
Приветствую вас форумчане.
Подскажите как реализовать проверку имени каталога с заданным шаблоном.
Поясню:
есть необходимость получить все имена папок, содержащих в названии некоторый набор символов - с этим проблем нет. Затруднение в том, что подобных папок может быть несколько, необходимо сравнить полученное на первом шаге имя с заданным шаблоном и если совпадет, выполнить действие.
Пока пришел к такому варианту, но он не работает как надо, сравнения имен не происходит.
Код: strComputer = "."
Set wmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colItems = wmi.ExecQuery("Select * from Win32_Directory where drive=""c:"" and and filename like '%folder%'")
For Each objItem in colItems
Select Case objItem.name
Case "folder 1"
действие1
Case "New folder"
действие2
End Select
Next
Подскажите как реализовать проверку имени каталога с заданным шаблоном.
Поясню:
есть необходимость получить все имена папок, содержащих в названии некоторый набор символов - с этим проблем нет. Затруднение в том, что подобных папок может быть несколько, необходимо сравнить полученное на первом шаге имя с заданным шаблоном и если совпадет, выполнить действие.
Пока пришел к такому варианту, но он не работает как надо, сравнения имен не происходит.
Код: strComputer = "."
Set wmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colItems = wmi.ExecQuery("Select * from Win32_Directory where drive=""c:"" and and filename like '%folder%'")
For Each objItem in colItems
Select Case objItem.name
Case "folder 1"
действие1
Case "New folder"
действие2
End Select
Next
Доброго времени суток.
Есть часть кода:
Код:
Dim strRegistryKeyAndSubsToDelete: strRegistryKeyAndSubsToDelete= "\Software\Programm 1"
Dim strNTUserDatPath, i
For i = 0 To UBound(arrProfilePaths)
strNTUserDatPath = arrProfilePaths(i) & "\" & "ntuser.dat"
If objFSO.FileExists(strNTUserDatPath) = True Then
'LOAD the HIVE from the current ntuser.dat file into "TmpLoadHive"
strRun = "REG.EXE load HKU\TmpLoadHive " & Chr(34) & strNTUserDatPath & Chr(34)
intReturn = oShell.Run(strRun, 0, True)
'DELETE the key and subkeys in the TmpLoadHive
DeleteKeyAndSubsFromTmpLoadHive "TmpLoadHive" & strRegistryKeyAndSubsToDelete
strKeyNameToDelete
strRun = "REG.EXE unload HKU\TmpLoadHive"
intReturn = oShell.Run(strRun, 0, True)
Else
End If
Есть часть кода:
Код:
Dim strRegistryKeyAndSubsToDelete: strRegistryKeyAndSubsToDelete= "\Software\Programm 1"
Dim strNTUserDatPath, i
For i = 0 To UBound(arrProfilePaths)
strNTUserDatPath = arrProfilePaths(i) & "\" & "ntuser.dat"
If objFSO.FileExists(strNTUserDatPath) = True Then
'LOAD the HIVE from the current ntuser.dat file into "TmpLoadHive"
strRun = "REG.EXE load HKU\TmpLoadHive " & Chr(34) & strNTUserDatPath & Chr(34)
intReturn = oShell.Run(strRun, 0, True)
'DELETE the key and subkeys in the TmpLoadHive
DeleteKeyAndSubsFromTmpLoadHive "TmpLoadHive" & strRegistryKeyAndSubsToDelete
strKeyNameToDelete
strRun = "REG.EXE unload HKU\TmpLoadHive"
intReturn = oShell.Run(strRun, 0, True)
Else
End If
Scaramanga
попробуй это, токо осторожно, не удали что-то нужное
Цитата:
PS
второй параметр может быть Software или System
DelSubkey &H80000002,"software","test"
PPS
регистр текста учитывается "test" удалит а "Test" нет
попробуй это, токо осторожно, не удали что-то нужное
Цитата:
Set r=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
DelSubkey &H80000002,"","test"
sub DelSubkey(root,key,del_text)
iR = r.EnumKey(root,key,dsSubKeys)
if iR=0 and IsArray(dsSubKeys)=-1 then
For each dsKey in dsSubKeys
DelSubkey root,key+"\"+dsKey,del_text
Next
end if
if instr(key,del_text)>0 then
r.DeleteKey root,key
else
ir=r.EnumValues(root,key,val,vtype)
if iR=0 and IsArray(val)=-1 then
for k=0 to ubound(val)
if instr(cstr(val(k)),del_text)>0 then r.DeleteValue root,key,val(k)
next
end if
end if
end sub
PS
второй параметр может быть Software или System
DelSubkey &H80000002,"software","test"
PPS
регистр текста учитывается "test" удалит а "Test" нет
OOD
Цитата:
Код: Set objWord = CreateObject("Word.Application")
Set colTasks = objWord.Tasks
For Each task In colTasks
If task.Visible Then
WScript.Echo task.Name
End If
Next
objWord.Quit
Цитата:
...писал на делфи програмку которая ищет все заголовки...эээ... ммм... а зачем было изобретать велосипед, когда вывести заголовки окон приложений можно через Word.Application?
Код: Set objWord = CreateObject("Word.Application")
Set colTasks = objWord.Tasks
For Each task In colTasks
If task.Visible Then
WScript.Echo task.Name
End If
Next
objWord.Quit
ComradG
Задача вполне реальная: да, необходимо рекурсивно перебрать все подпапки в указанном каталоге, выбрать все, содержащие в имени некое слово 'folder' (т .е. выбор по маске), в цикле сравнить каждый из найденных с шаблоном и в зависимости от совпадения выполнить действие.
Пока получился вот такой вариант
Код: strComputer = "."
Set wmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colItems = wmi.ExecQuery("Select * from Win32_Directory where drive=""c:"" and and filename like '%folder%'")
For Each objItem in colItems
If StrComp(objItem.name,"C:\Reminder2",1)=0 Then
действие
Else
If StrComp(objItem.name,"C:\Program Files\Reminder",1)=0 Then
Else
If StrComp(objItem.name,"C:\Program Files (x86)\Reminder",1)=0 Then
Else
End If
End If
End If
Next
Задача вполне реальная: да, необходимо рекурсивно перебрать все подпапки в указанном каталоге, выбрать все, содержащие в имени некое слово 'folder' (т .е. выбор по маске), в цикле сравнить каждый из найденных с шаблоном и в зависимости от совпадения выполнить действие.
Пока получился вот такой вариант
Код: strComputer = "."
Set wmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colItems = wmi.ExecQuery("Select * from Win32_Directory where drive=""c:"" and and filename like '%folder%'")
For Each objItem in colItems
If StrComp(objItem.name,"C:\Reminder2",1)=0 Then
действие
Else
If StrComp(objItem.name,"C:\Program Files\Reminder",1)=0 Then
Else
If StrComp(objItem.name,"C:\Program Files (x86)\Reminder",1)=0 Then
Else
End If
End If
End If
Next
diskmen
Цитата:
Код: Set objFSO = CreateObject("Scripting.FileSystemObject")
Цитата:
Запрос wmi применяется потому, что точное расположение искомой папки неизвестно заранее.странное однако представление о wmi. советую перечитать на досуге мантры под названием msdn (курить до просветления, а не до галюнов). ежели серьезно, то вкратце попробую объяснить отчего в данном случае использовать wmi является моветоном. во-первых, wmi лучше использовать в случаях удаленного администрирования или нужды доступа к win-объекту, а раз так, то смотрим в сторону FSO.
Код: Set objFSO = CreateObject("Scripting.FileSystemObject")
ComradG
Благодарю за примеры. Ушел курить читать мануалы.
Благодарю за примеры. Ушел курить читать мануалы.
Есть вот такой скрипт для WinXPrus, который должен отключать сетевой адаптер:
Код: Const ssfCONTROLS = 3
sConnectionName = "KStar"
'For English versions of Windows
'sEnableVerb = "En&able"
'sDisableVerb = "Disa&ble"
'For Russian versions of Windows
sEnableVerb = "&Включить"
sDisableVerb = "Откл&ючить"
set shellApp = createobject("shell.application")
set oControlPanel = shellApp.Namespace(ssfCONTROLS)
set oNetConnections = nothing
for each folderitem in oControlPanel.items
if folderitem.name = "Сетевые подключения" then
set oNetConnections = folderitem.getfolder: exit for
end if
next
if oNetConnections is nothing then
msgbox "Couldn't find 'Network and Dial-up Connections' folder"
wscript.quit
end if
set oLanConnection = nothing
for each folderitem in oNetConnections.items
if lcase(folderitem.name) = lcase(sConnectionName) then
set oLanConnection = folderitem: exit for
end if
next
if oLanConnection is nothing then
msgbox "Couldn't find '" & sConnectionName & "' item"
wscript.quit
end if
set oDisableVerb = nothing
for each verb in oLanConnection.verbs
if verb.name = sDisableVerb then
set oDisableVerb = verb
oDisableVerb.DoIt
end if
next
wscript.sleep 1000
Код: Const ssfCONTROLS = 3
sConnectionName = "KStar"
'For English versions of Windows
'sEnableVerb = "En&able"
'sDisableVerb = "Disa&ble"
'For Russian versions of Windows
sEnableVerb = "&Включить"
sDisableVerb = "Откл&ючить"
set shellApp = createobject("shell.application")
set oControlPanel = shellApp.Namespace(ssfCONTROLS)
set oNetConnections = nothing
for each folderitem in oControlPanel.items
if folderitem.name = "Сетевые подключения" then
set oNetConnections = folderitem.getfolder: exit for
end if
next
if oNetConnections is nothing then
msgbox "Couldn't find 'Network and Dial-up Connections' folder"
wscript.quit
end if
set oLanConnection = nothing
for each folderitem in oNetConnections.items
if lcase(folderitem.name) = lcase(sConnectionName) then
set oLanConnection = folderitem: exit for
end if
next
if oLanConnection is nothing then
msgbox "Couldn't find '" & sConnectionName & "' item"
wscript.quit
end if
set oDisableVerb = nothing
for each verb in oLanConnection.verbs
if verb.name = sDisableVerb then
set oDisableVerb = verb
oDisableVerb.DoIt
end if
next
wscript.sleep 1000
atomheart
самое первое что бросается в глаза, так это
Код: Const ssfCONTROLS = 3
самое первое что бросается в глаза, так это
Код: Const ssfCONTROLS = 3
atomheart
Через WMI, хоть ComradG его и не любит. Просмотри список. У Win32_NetworkAdapter (objNetCard) есть метод Disable соответственно.
Код:
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colNetCards = objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapter Where NetConnectionID Is Not Null")
For Each objNetCard in colNetCards
WScript.Echo objNetCard.Name & " -- " & objnetcard.NetConnectionID
Next
Через WMI, хоть ComradG его и не любит. Просмотри список. У Win32_NetworkAdapter (objNetCard) есть метод Disable соответственно.
Код:
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colNetCards = objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapter Where NetConnectionID Is Not Null")
For Each objNetCard in colNetCards
WScript.Echo objNetCard.Name & " -- " & objnetcard.NetConnectionID
Next
AndVGri
Запустил твой скрипт. Вот результат:
Что дальше?
Запустил твой скрипт. Вот результат:
Что дальше?
atomheart
ну вам же 99% разжевали, стыдно должно быть...
вот
Код: For Each objNetCard in colNetCards
WScript.Echo objNetCard.Name & " -- " & objnetcard.NetConnectionID
errReturn = objNetCard.Disable()
If errReturn <> 0 Then
WScript.Echo "Disable Network adapter failed for adapter= " & objnetcard.DeviceId
Else
WScript.Echo "Disable Network adapter succeeded for adapter= " & objnetcard.DeviceId
End If
Next
ну вам же 99% разжевали, стыдно должно быть...
вот
Код: For Each objNetCard in colNetCards
WScript.Echo objNetCard.Name & " -- " & objnetcard.NetConnectionID
errReturn = objNetCard.Disable()
If errReturn <> 0 Then
WScript.Echo "Disable Network adapter failed for adapter= " & objnetcard.DeviceId
Else
WScript.Echo "Disable Network adapter succeeded for adapter= " & objnetcard.DeviceId
End If
Next
megamozg13
Строка: 1
Символ: 2
Ошибка: Объект не является семейством
Код: 800А01С3
Источник: Ошибка выполнения Microsoft VBScript
По вашей ссылке речь идёт о Win32_NetworkAdapter class, я не вижу, чтобы он встречался в приведённом вами коде.
Мне было бы стыдно, если б у меня был такой же мегамоск, какой, видимо, у вас, а т.к. в кодинге я ничего не смыслю, то и стыдиться мне не приходится. Если есть желание помочь - помогите готовым скриптом, может, ещё кому-нибудь пригодится. А не хотите - тогда извините за беспокойство.
Строка: 1
Символ: 2
Ошибка: Объект не является семейством
Код: 800А01С3
Источник: Ошибка выполнения Microsoft VBScript
По вашей ссылке речь идёт о Win32_NetworkAdapter class, я не вижу, чтобы он встречался в приведённом вами коде.
Мне было бы стыдно, если б у меня был такой же мегамоск, какой, видимо, у вас, а т.к. в кодинге я ничего не смыслю, то и стыдиться мне не приходится. Если есть желание помочь - помогите готовым скриптом, может, ещё кому-нибудь пригодится. А не хотите - тогда извините за беспокойство.
atomheart
да тут даже не программирование, а наблюдательность. я привёл пример тела цикла, вот попробуйте скрипт целиком.
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colNetCards = objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapter Where NetConnectionID Is Not Null")
For Each objNetCard in colNetCards
WScript.Echo objNetCard.Name & " -- " & objnetcard.NetConnectionID
errReturn = objNetCard.Disable()
If errReturn <> 0 Then
WScript.Echo "Disable Network adapter failed for adapter= " & objnetcard.DeviceId
Else
WScript.Echo "Disable Network adapter succeeded for adapter= " & objnetcard.DeviceId
End If
Next
да тут даже не программирование, а наблюдательность. я привёл пример тела цикла, вот попробуйте скрипт целиком.
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colNetCards = objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapter Where NetConnectionID Is Not Null")
For Each objNetCard in colNetCards
WScript.Echo objNetCard.Name & " -- " & objnetcard.NetConnectionID
errReturn = objNetCard.Disable()
If errReturn <> 0 Then
WScript.Echo "Disable Network adapter failed for adapter= " & objnetcard.DeviceId
Else
WScript.Echo "Disable Network adapter succeeded for adapter= " & objnetcard.DeviceId
End If
Next
Страницы: 12345678910111213141516171819202122232425
Предыдущая тема: Помогите новичку в C++
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.