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

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Разное - [решено] Удаление принтеров из командной строки

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

Аватара для denzill

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


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

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


Изменения
Автор: denzill
Дата: 07-03-2006
Описание: (solved)
Все спрашивают про установку принтеров, а я вот хочу спросить про удаление:
как из коммандной строки удалить ВСЕ установленные в системе принтера?
то биш добавить: "rundll32 printui.dll,PrintUIEntry /in /n \\machine\printer"
добавляет сетевой принтер
а вот удалить как?
при условии, что имя принтера(принтеров) в системе не известны?

-------
Меняю топор системы Раскольникова на автомат системы Калашникова


Отправлено: 12:47, 06-03-2006

 

Ветеран


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

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


Iska

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

Тогда, если Вы знаете, будьте так любезны, напишите альтернативные, не Wbem способы удаления принтера?

Я не знаток, не мага профессионал, просто я считал, что vbs или wmic - это разные способы удаления принтера

Теперь мне хочется, если это возможно, разные методы, разные технологии удаления принтера

Спасибо.

Последний раз редактировалось SharkyEXE, 05-04-2020 в 22:32.


Отправлено: 21:26, 05-04-2020 | #41



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

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


Ветеран


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

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


Разве что:
Код: Выделить весь код
rundll32.exe printui.dll,PrintUIEntry /n "Epson Stylus C20 Series (M)" /dl

Отправлено: 22:49, 05-04-2020 | #42


Ветеран


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

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


Iska

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

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

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

vbs
Код: Выделить весь код
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
Код: Выделить весь код
wmic.exe Printer where "DeviceID='Epson Stylus C20 Series (M)'" delete
Альтернативный способ удаления принтера (способ не на Wbem)
rundll32
Код: Выделить весь код
rundll32.exe printui.dll,PrintUIEntry /n "Epson Stylus C20 Series (M)" /dl
Все верно написал или я ошибся, просьба поправить?

Отправлено: 23:25, 05-04-2020 | #43


Ветеран


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

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


Угу. Только лучше будет написать как-то так:
Цитата:
1. Wbem:
а) WSH (VBScript): …
б) утилита командной строки wmic.exe: …
2.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:39, 05-04-2020 | #44


Ветеран


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

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


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_
Пожалуйста, будьте так, любезны

Отправлено: 13:56, 22-08-2021 | #45


Ветеран


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

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


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)

Отправлено: 23:31, 24-08-2021 | #46



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Разное - [решено] Удаление принтеров из командной строки

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - [решено] Завершение программы из командной строки Severny Скриптовые языки администрирования Windows 13 21-04-2013 20:50
CMD/BAT - [решено] архиватор 7z и командной строки Daemon.XP Скриптовые языки администрирования Windows 4 15-07-2009 11:40
Службы - [решено] network down из командной строки Daemon.XP Microsoft Windows 2000/XP 3 02-03-2009 21:59
[решено] Утилиты командной строки kapitanvagin Программное обеспечение Windows 1 28-03-2008 22:56
Разное - [решено] Закрыть приложение из командной строки Alexx280 Microsoft Windows 2000/XP 3 01-08-2007 08:16




 
Переход