hardexit
Goto Top

Mehrere lokale Drucker löschen

Hallo zusammen,

ich suche eine Möglichkeit mehrere lokale Drucker mit einer Batch zu löschen, die Befehle hätte ich alle;
mein Problem ist gerade wie lese ich eine Textdatei aus und nehme aus jeder Zeile den Namen des Druckers und setze diesen als Variable ein.

@ECHO off

Set PAscripts=cscript %Windir%\System32\Printing_Admin_Scripts\de-DE

reg query "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices" > C:\Temp\drucker.txt  
find /I "RICOH" C:\Temp\drucker.txt > C:\Temp\ricoh.txt  

%PAscripts%\prnmngr.vbs -d -p "%druckername%" -s server  

PAUSE
DEL C:\Temp\drucker.txt
DEL C:\Temp\ricoh.txt


ricoh.txt
---------- C:\TEMP\DRUCKER.TXT
    RICOH Aficio SP C420DN PCL 6    REG_SZ    winspool,Ne00:

Content-ID: 315923

Url: https://administrator.de/contentid/315923

Ausgedruckt am: 22.11.2024 um 12:11 Uhr

Kraemer
Lösung Kraemer 22.09.2016 um 09:20:47 Uhr
Goto Top
Morgen,

warum nicht mit Powershell?

# Get Printers
$printers = Get-WmiObject -Class Win32_Printer

# Delete Printers
$printers | ForEach-Object {
    if ($_.Name -match "Printer1"){  
        $_.Delete()
    }
}

Gruß Krämer
HardExit
HardExit 22.09.2016 um 09:33:20 Uhr
Goto Top
Danke, damit habe ich bis jetzt noch nie gearbeitet, steht aber auf der ToDo List^^
Kann man dort jetzt noch spezifizieren dass nur "RICOH" Drucker gelöscht werden sollen?
Kraemer
Kraemer 22.09.2016 aktualisiert um 09:47:23 Uhr
Goto Top
Zitat von @HardExit:
Kann man dort jetzt noch spezifizieren dass nur "RICOH" Drucker gelöscht werden sollen?
Ja, kann man - mit "-like"

Gruß Krämer
129813
129813 22.09.2016 um 10:16:27 Uhr
Goto Top
PS
gwmi Win32_Printer | ?{$_.Name -like "*Ricoh*"} | %{$_.Delete}  
or wmic
wmic path win32_Printer where (Name like "%Ricoh%") call Delete  
Regards