use “net Use” para definir a impressora padrão no arquivo de lote

1

Eu tenho que criar um arquivo de lote para definir a impressora pessoal padrão do usuário para lpt1 em um ambiente Windows 7.

Pesquisando na Web, encontrei isto e isto:

net Use lpt1 \\computername\printer

Eu sei que posso usar %computername% para obter o nome do computador e posso usar isso para obter o nome da impressora padrão: cscript %Windir%\System32\Printing_Admin_Scripts\en-us\prnmngr.vbs -g

Mas eu não sei como combinar o 2 em uma declaração "net use" no meu arquivo de lote.

O resultado final que eu gostaria é de net Use lpt1 \itwin7003\hp laserjet 2035

Obrigado antecipadamente!

    
por goofus828 10.02.2017 / 18:17

1 resposta

0

Eu tenho que criar um arquivo de lote para definir a impressora pessoal padrão do usuário para lpt1

Arquivo em lote:

@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

Linha de comando:

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

Nota:

  • net use requer a impressora ShareName .

Leitura Adicional

por 10.02.2017 / 18:58