Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Удаление принтеров из списка в файле (http://forum.oszone.net/showthread.php?t=315741)

symrak74 09-06-2016 21:37 2641806

Удаление принтеров из списка в файле
 
Всем привет. Помогите решить задачку. Задачка по началу казалось очень простой: удалить все установленные принтеры.
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 2641817

symrak74, а звёздочку вместо имени принтера не пробовали ставить?
Код:

rubdll32 printui.dll,PrintUIEntry /dl /n *

symrak74 10-06-2016 08:57 2641881

Да пробовал, выдает ошибку, не может определить имя принтера

greg zakharov 10-06-2016 11:36 2641933

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



Время: 08:37.

Время: 08:37.
© OSzone.net 2001-