PDA

Показать полную графическую версию : Удаление принтеров из списка в файле


symrak74
09-06-2016, 21:37
Всем привет. Помогите решить задачку. Задачка по началу казалось очень простой: удалить все установленные принтеры.
rubdll32 printui.dll,PrintUIEntry /dl /n "printName" позволяет удалять принтеры по его имени
Но в виду того как заводились принтеры... порой у пользователя весит 8-10 с названиями по типу "123" или "принтер слева". И парк более 150 ПК.
wmic.exe Printer get DeviceID >"MyPrinters.txt" выводит установленные принтеры в файле.
и вот тут проблема: как удалить эти принтеры, указав именами те, которые вывелись в txt файле?

sov44
09-06-2016, 22:12
symrak74, а звёздочку вместо имени принтера не пробовали ставить?
rubdll32 printui.dll,PrintUIEntry /dl /n *

symrak74
10-06-2016, 08:57
Да пробовал, выдает ошибку, не может определить имя принтера

greg zakharov
10-06-2016, 11:36
symrak74, раз у Вас не срабатывает команда приведенная sov44 выше, то остается гадать, в чем проблема, и не факт что, скажем, код ниже сработает:
@echo off
setlocal enabledelayedexpansion
for /f %%i in (
'find /v /c "" ^< MyPrinters.txt'
) do set "n=%%i"
3<bar (for /l %%i in (1, 1, !n!) do (
set /p l=<&3
rubdll32 printui.dll,PrintUIEntry /dl /n "!l!"
))
endlocal
exit /b




© OSzone.net 2001-2012