找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 32628|回复: 10

[文本处理] 读注册表取系统默认打印机的BAT有点小问题,求指点

[复制链接]
发表于 2014-6-20 15:52:22 | 显示全部楼层 |阅读模式
是读注册表取系统默认打印机的;
  1. @ECHO OFF
  2. SET SF="HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows"
  3. FOR /F "tokens=*" %%I IN ('REG QUERY %SF% /v Device 2^>NUL^|FIND /I "Device"') DO echo %%I

  4. pause
复制代码
现在结果是:
Device  REG_SZ  HP P3015dn,winspool,Ne03:
现在只想返回HP P3015dn
前面的Device  REG_SZ  不需要显示
后面的,winspool,Ne03: 也不需要

求高人指点
发表于 2014-6-20 15:58:51 | 显示全部楼层

  1. @ECHO OFF
  2. SET SF="HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows"
  3. FOR /F "tokens=3-4 delims=, " %%I IN ('REG QUERY %SF% /v Device 2^>NUL^|FIND /I "Device"') DO echo %%I %%J
复制代码
 楼主| 发表于 2014-6-20 16:06:22 | 显示全部楼层
本帖最后由 ditto 于 2014-6-20 16:18 编辑
changedirectory 发表于 2014-6-20 15:58


结果好像不对,是:
winspool Ne03:
发表于 2014-6-20 16:23:29 | 显示全部楼层
回复 2# changedirectory


reg query 的结果里面那些空白的地方不一定是空格,看看就知道了:
  1. REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows" /v Device | FIND /I "Device" > a.txt
复制代码
发表于 2014-6-20 16:24:26 | 显示全部楼层
先以逗号分隔开,然后再用空格分隔。2*不就行了
发表于 2014-6-20 16:26:26 | 显示全部楼层
回复 3# ditto


    我做了测试时正常的,delims=, 这里,符号后面还有个空格
发表于 2014-6-20 16:26:42 | 显示全部楼层
  1. @echo off
  2. SET SF="HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows"
  3. for /f "delims=," %%a in ('REG QUERY %SF% /v Device 2^>NUL^|FIND /I "Device"') do (
  4.         for /f "tokens=2*" %%b in ("%%a") do echo %%c
  5. )
  6. pause
复制代码
 楼主| 发表于 2014-6-20 17:33:21 | 显示全部楼层
522235677 发表于 2014-6-20 16:26


这个对了

多谢楼上各位
发表于 2014-6-20 18:45:09 | 显示全部楼层
建议大家用最新版的win,这样就有了最新版的powershell,新版powershell自带这些打印机管理命令,其他任何语言都无法实现,

powershell 4.0 自带打印机管理库(模块),这个模块叫做 PrintManagement,
查看这个模块中有哪些命令用:
PS C:\> get-command * -Module PrintManagement

CommandType     Name                                               ModuleName
-----------     ----                                               ----------
Function        Add-Printer                                        PrintManagement
Function        Add-PrinterDriver                                  PrintManagement
Function        Add-PrinterPort                                    PrintManagement
Function        Get-PrintConfiguration                             PrintManagement
Function        Get-Printer                                        PrintManagement
Function        Get-PrinterDriver                                  PrintManagement
Function        Get-PrinterPort                                    PrintManagement
Function        Get-PrinterProperty                                PrintManagement
Function        Get-PrintJob                                       PrintManagement
Function        Read-PrinterNfcTag                                 PrintManagement
Function        Remove-Printer                                     PrintManagement
Function        Remove-PrinterDriver                               PrintManagement
Function        Remove-PrinterPort                                 PrintManagement
Function        Remove-PrintJob                                    PrintManagement
Function        Rename-Printer                                     PrintManagement
Function        Restart-PrintJob                                   PrintManagement
Function        Resume-PrintJob                                    PrintManagement
Function        Set-PrintConfiguration                             PrintManagement
Function        Set-Printer                                        PrintManagement
Function        Set-PrinterProperty                                PrintManagement
Function        Suspend-PrintJob                                   PrintManagement
Function        Write-PrinterNfcTag                                PrintManagement

Get-Printer  即你需要的,当然还有其他命令,可以命令行管理打印任务等。


目前最新版win,即win8.1u1激活可用:
KMSpico  ,官方下载地址在:            
http://forums.mydigitallife.info ... 0dbcb097890867106d3

开始菜单可用:
StartIsBackPlus_1.6.1_XiaZaiBa.zip
有了这个程序,可以直接跳过开始屏幕直接进入桌面,这样来讲,win8和win7就差不多了。

win8.1 u1 msdn版
文件名cn_windows_8.1_enterprise_with_update_x64_dvd_4048578.iso
SHA1  2D9BFE965AE0206860EFFA23C2E6C7FAE1241303
文件大小  3.86GB
发布时间2014-04-08
cn_windows_8.1_enterprise_with_update_x64_dvd_4048578.iso (3.86 GB)
发表于 2014-6-20 21:08:44 | 显示全部楼层
回复 9# PowerShell


    powershell 真的好强大。能留个扣扣不?我真的很想学
发表于 2014-6-21 12:48:26 | 显示全部楼层
欢迎关注本论坛powershell板块
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 05:24 , Processed in 0.033237 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表