Board logo

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

作者: ditto    时间: 2014-6-20 15:52     标题: 读注册表取系统默认打印机的BAT有点小问题,求指点

是读注册表取系统默认打印机的;
  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: 也不需要

求高人指点
作者: changedirectory    时间: 2014-6-20 15:58

  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
复制代码

作者: ditto    时间: 2014-6-20 16:06

本帖最后由 ditto 于 2014-6-20 16:18 编辑
changedirectory 发表于 2014-6-20 15:58


结果好像不对,是:
winspool Ne03:
作者: DAIC    时间: 2014-6-20 16:23

回复 2# changedirectory


reg query 的结果里面那些空白的地方不一定是空格,看看就知道了:
  1. REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows" /v Device | FIND /I "Device" > a.txt
复制代码

作者: 522235677    时间: 2014-6-20 16:24

先以逗号分隔开,然后再用空格分隔。2*不就行了
作者: changedirectory    时间: 2014-6-20 16:26

回复 3# ditto


    我做了测试时正常的,delims=, 这里,符号后面还有个空格
作者: 522235677    时间: 2014-6-20 16:26

  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
复制代码

作者: ditto    时间: 2014-6-20 17:33

522235677 发表于 2014-6-20 16:26


这个对了

多谢楼上各位
作者: PowerShell    时间: 2014-6-20 18:45

建议大家用最新版的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
ed2k://|file|cn_windows_8.1_enterprise_with_update_x64_dvd_4048578.iso|4140781568|8A3E13590D8A6EDF259574CB797FC75E|/
作者: 522235677    时间: 2014-6-20 21:08

回复 9# PowerShell


    powershell 真的好强大。能留个扣扣不?我真的很想学
作者: PowerShell    时间: 2014-6-21 12:48

欢迎关注本论坛powershell板块




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2