批处理删除所有打印机
答案:1 悬赏:70 手机版
解决时间 2021-04-02 01:26
- 提问者网友:杀手的诗
- 2021-04-01 15:29
批处理删除所有打印机
最佳答案
- 五星知识达人网友:孤老序
- 2021-04-01 16:37
你好,你要删除的打印机是本地打印机还是通过共享的网络打印机?
下面的批处理是一位大侠写的,可以可以删除所有的本地打印机和网络打印机,如果你想删除特定的一些打印机,请提供打印机的名字,帮你修改下!谢谢!
@echo off
echo 开始删除打印机
for /f "skip=2 tokens=1,2* delims=," %%i in ('wmic path win32_printer get name /format:csv 2^>nul') do call :func %%j
echo.
echo 删除完成!!!
pause>nul
goto :end
:func
set pn=%*
if "%pn:~0,2%"=="\" (rundll32 printui.dll,PrintUIEntry /n"%pn%" /dn /q) else (rundll32 printui.dll,PrintUIEntry /n"%pn%" /dl /q)
goto :end
:end追问你好,大侠,这个批处理我双击运行后,本地的打印机还是存在。没有全部删除。请问是怎么回事哦?追答你好,运行批处理后,你的网络打印机全部删除了吗?
你说的本地打印机没有删除,是删除了一部分还是都没删除?
运行这个的批处理的时候,是需要管理员权限的,这个批处理只能删除本帐户下的本地打印机和网络打印机。追问你好,我本地安装的是网络打印机,也是在本地账户下运行的。环境是域环境。
但是运行这个批处理却删除不了所有打印机!请问是怎么回事!追答首先,你的网络打印机是直接在域用户下安装的吗?如果是直接在域用户下安装的,你想要运行这个批处理需要你的域用户有管理员权限才可以。
其次,你在本地帐户下运行这个批处理,只能删除本地帐户下的打印机,不能删除域帐户下的打印机。
有疑问,请追问,实在不行就给你写个另外的批处理。追问你好,大侠。我在域用户下已经有权限了。用户可以自由删除和添加打印机的。
我自己编写了rundll32 printui.dll,PrintUIEntry /dl /n "HP LaserJet Professional P1606dn" /q这样的格式就可以单个删除。但是我现在要删除所有打印机。请问要加什么语句才能删除全部打印机呢?追答@echo off
echo deleting local Printers……
for /f "skip=5 tokens=7 delims=" %%i in ('reg query HKLMSYSTEMCurrentControlSetControlPrintPrinters') do (
rundll32 printui PrintUIEntry /dl /n "%%i"&&echo "%%i"成功删除)
echo deleting network Printers……
for /f "skip=1 tokens=2-3 delims=," %%i in ('reg query HKEY_CURRENT_USERPrintersConnections') do (
rundll32 printui PrintUIEntry /dn /n "\%%i\%%j"&&echo %%i\%%j成功删除
)
pause
下面的批处理是一位大侠写的,可以可以删除所有的本地打印机和网络打印机,如果你想删除特定的一些打印机,请提供打印机的名字,帮你修改下!谢谢!
@echo off
echo 开始删除打印机
for /f "skip=2 tokens=1,2* delims=," %%i in ('wmic path win32_printer get name /format:csv 2^>nul') do call :func %%j
echo.
echo 删除完成!!!
pause>nul
goto :end
:func
set pn=%*
if "%pn:~0,2%"=="\" (rundll32 printui.dll,PrintUIEntry /n"%pn%" /dn /q) else (rundll32 printui.dll,PrintUIEntry /n"%pn%" /dl /q)
goto :end
:end追问你好,大侠,这个批处理我双击运行后,本地的打印机还是存在。没有全部删除。请问是怎么回事哦?追答你好,运行批处理后,你的网络打印机全部删除了吗?
你说的本地打印机没有删除,是删除了一部分还是都没删除?
运行这个的批处理的时候,是需要管理员权限的,这个批处理只能删除本帐户下的本地打印机和网络打印机。追问你好,我本地安装的是网络打印机,也是在本地账户下运行的。环境是域环境。
但是运行这个批处理却删除不了所有打印机!请问是怎么回事!追答首先,你的网络打印机是直接在域用户下安装的吗?如果是直接在域用户下安装的,你想要运行这个批处理需要你的域用户有管理员权限才可以。
其次,你在本地帐户下运行这个批处理,只能删除本地帐户下的打印机,不能删除域帐户下的打印机。
有疑问,请追问,实在不行就给你写个另外的批处理。追问你好,大侠。我在域用户下已经有权限了。用户可以自由删除和添加打印机的。
我自己编写了rundll32 printui.dll,PrintUIEntry /dl /n "HP LaserJet Professional P1606dn" /q这样的格式就可以单个删除。但是我现在要删除所有打印机。请问要加什么语句才能删除全部打印机呢?追答@echo off
echo deleting local Printers……
for /f "skip=5 tokens=7 delims=" %%i in ('reg query HKLMSYSTEMCurrentControlSetControlPrintPrinters') do (
rundll32 printui PrintUIEntry /dl /n "%%i"&&echo "%%i"成功删除)
echo deleting network Printers……
for /f "skip=1 tokens=2-3 delims=," %%i in ('reg query HKEY_CURRENT_USERPrintersConnections') do (
rundll32 printui PrintUIEntry /dn /n "\%%i\%%j"&&echo %%i\%%j成功删除
)
pause
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯