|
|
推荐

楼主 |
发表于 2018-9-5 18:12:45
|
只看该作者
本帖最后由 窄口牛 于 2018-9-5 20:13 编辑
删除打印机xp和win7已测试
- @echo off
- net stop spooler
- echo y|del %windir%\system32\spool\printers\*.*
- net start spooler
- rem 注册表获取列表
- echo deleting local Printers……
- for /f "skip=5 tokens=7 delims=" %%i in ('reg query HKLM\SYSTEM\CurrentControlSet\Control\Print\Printers') 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_USER\Printers\Connections') do (
- rundll32 printui PrintUIEntry /dn /n "\\%%i\%%j"&&echo %%i\%%j成功删除
- )
- rem wmic获取列表
- 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
- exit
复制代码
设置默认打印机
- @echo off
- Setlocal enabledelayedexpansion
- for /f "tokens=2,*" %%i in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows"^|findstr Device') do echo 目前默认打印机为%%j
- echo 打印机列表如下
- for /f "tokens=2 delims==" %%a in ('wmic path win32_printer get name /value^|findstr .') do (
- set /a n+=1
- echo !n!:%%a
- )
- set /p select=请选择设置哪个打印机为默认:
- set /a var=%select%-1
- if not %var% equ 0 (set "skip=skip=%var% ") else (set "skip=")
- for /f "%skip%tokens=2 delims==" %%a in ('wmic path win32_printer get name /value^|findstr .') do (
- set "name=%%~a"
- rundll32 printui.dll,PrintUIEntry /y /n "!name:~,-1!"
- goto end
- )
- :end
复制代码
|
评分
-
查看全部评分
|