Using RMTShare.exe, I have scripted ListPrinter.bat to report the shared printers that are installed
on a specified computer.
The syntax for using ListPrinter.bat is:
ListPrinter NetBIOS_Computer_Name
Where NetBIOS_Computer_Name is the NetBIOS computer name of the 'server' whose printers you wish to enumerate.
Example:
listprinter JSI001 returns: "\\JSI001\ZFax","ZFax" "\\JSI001\HP2250","HP Business Inkjet 2250 (PCL5C)" "\\JSI001\HP2250T1","HP Business Inkjet 2250 Tray 1 (PCL5C)" "\\JSI001\HPOffice","HP Officejet 6200 series"ListPrinter.bat contains:
@echo off if \{%1\}==\{\} @echo Syntax ListPrinters Computer&goto :EOF setlocal ENABLEDELAYEDEXPANSION set c1=%1 set c1=%c1:"=% set c1=%c1:\=% set c1=\\%c1:\=% set b1=FIND /V ":" set b2=FIND /V "The command completed successfully." set b3=FIND "Path" for /f "Skip=4 Tokens=*" %%a in ('rmtshare %c1%^|%b1%^|%b2%') do ( set line=%%a if "!line:~13,1!" NEQ " " call :c1prt !line:~0,12! ) endlocal goto :EOF :c1Prt for /f "Tokens=1*" %%b in ('rmtshare %c1%\%1^|%b3%') do ( set work=%%c set work=!work:,LocalsplOnly=! @echo "%c1%\%1","!work!" )
0 comments
Hide comments