1

Мне нужно создать пакетный файл, чтобы установить для личного персонального принтера пользователей значение lpt1 в среде Windows 7.

Поиск в сети, я нашел это и это:

net Use lpt1 \\\computername\printer

Я знаю, можно использовать %computername% чтобы получить имя компьютера, и я могу использовать его, чтобы получить имя принтера по умолчанию: cscript %Windir%\System32\Printing_Admin_Scripts\en-us\prnmngr.vbs -g

Но я не знаю, как объединить 2 в один оператор "net use" в моем пакетном файле.

Конечный результат, который я хотел бы, - net Use lpt1 \\itwin7003\hp laserjet 2035

Заранее спасибо!

1 ответ1

0

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

Пакетный файл:

@echo off
setlocal enabledelayedexpansion
for /f "usebackq skip=1 tokens=*" %%i in (`wmic printer where default^="true" get sharename ^| findstr /r /v "^$"`) do (
  set _printer=%%i
  rem remove trailing cr
  set _printer=!_printer:~0,-1!
  net use lpt1 "\\%computername%\!_printer!"
  )
)
endlocal

Командная строка:

for /f "usebackq skip=1 tokens=*" %i in (`wmic printer where default^="true" get sharename ^| findstr /r /v "^$"`) do @net use lpt1 \\%computername%\%i

Замечания:

  • net use требуется принтер ShareName .

Дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .