Разное - [решено] Удаление принтеров из командной строки

Ответить
 • Просмотры: 10
Аватара пользователя
Iska

Re: Разное - [решено] Удаление принтеров из командной строки

Сообщение Iska »

SharkyEXE, это один и тот же способ. Вы можете стирать мел с доски белой тряпкой, чёрной тряпкой, хоть синей тряпкой — в основе будет лежать одна и та же технология, в данном случае — Wbem.
Аватара пользователя
Iska

Re: Разное - [решено] Удаление принтеров из командной строки

Сообщение Iska »

Разве что:



Код:

Код: Выделить всё

rundll32.exe printui.dll,PrintUIEntry /n "Epson Stylus C20 Series (M)" /dl
Аватара пользователя
SharkyEXE

Re: Разное - [решено] Удаление принтеров из командной строки

Сообщение SharkyEXE »

Iska



Здравствуйте.



Итого, подъитог



Абсолютно одинаковые способы удаления принтера (способы на Wbem, vbs = wmic, кому что нравится, можно использовать ОДНО ИЗ или сразу оба способа, функционально одно и тоже)



Разное - [решено] Удаление принтеров из командной строки




Код:

Код: Выделить всё

Option Explicit
On Error Resume Next
WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2").Get("Win32_Printer.DeviceID='Epson Stylus C20 Series (M)'").Delete_
WScript.Quit 0

Разное - [решено] Удаление принтеров из командной строки




Код:

Код: Выделить всё

wmic.exe Printer where "DeviceID='Epson Stylus C20 Series (M)'" delete

Альтернативный способ удаления принтера (способ не на Wbem)

Разное - [решено] Удаление принтеров из командной строки




Код:

Код: Выделить всё

rundll32.exe printui.dll,PrintUIEntry /n "Epson Stylus C20 Series (M)" /dl

Все верно написал или я ошибся, просьба поправить?
Аватара пользователя
Iska

Re: Разное - [решено] Удаление принтеров из командной строки

Сообщение Iska »

Угу. Только лучше будет написать как-то так:


Цитата:



1. Wbem:

а) WSH (VBScript): …

б) утилита командной строки wmic.exe: …

2.
Аватара пользователя
SharkyEXE

Re: Разное - [решено] Удаление принтеров из командной строки

Сообщение SharkyEXE »

Iska



Здравствуйте



Я могу ошибаться, просьба поправить, но я когда использую код
Разное - [решено] Удаление принтеров из командной строки
, я код скомпилировал в exe файл, когда я запускаю exe файл, то если у меня нету принтера нету, то вываливается ошибка



Суть - можно Вас попросить, пожалуйста, в
Разное - [решено] Удаление принтеров из командной строки
сделать проверку, мол:

1) если принтер Epson Stylus C20 Series (M) найдется, то для принтера Epson Stylus C20 Series (M) сделать команду



Код:

Код: Выделить всё

$oSWbemLocator.ConnectServer(".", "root\cimv2").Get("Win32_Printer.DeviceID='Epson Stylus C20 Series (M)'").Delete_

2) если принтера Epson Stylus C20 Series (M) нету, то для принтера Epson Stylus C20 Series (M) не делать команду



Код:

Код: Выделить всё

$oSWbemLocator.ConnectServer(".", "root\cimv2").Get("Win32_Printer.DeviceID='Epson Stylus C20 Series (M)'").Delete_

Пожалуйста, будьте так, любезны
Аватара пользователя
Iska

Re: Разное - [решено] Удаление принтеров из командной строки

Сообщение Iska »

SharkyEXE, попробуйте, например, так:



Код:

Код: Выделить всё

AutoItSetOption("MustDeclareVars", 1)
Local $oSWbemLocator  = ObjCreate("WbemScripting.SWbemLocator")
Local $oSWbemObjectEx
For $oSWbemObjectEx In $oSWbemLocator.ConnectServer(".", "root\cimv2").InstancesOf("Win32_Printer")
	If $oSWbemObjectEx.DeviceID = "Epson Stylus C20 Series (M)" Then
		$oSWbemObjectEx.Delete_
		ExitLoop
	EndIf
Next
Exit(0)
Ответить

Вернуться в «Microsoft Windows 2000/XP»