标题: [文本处理] 读注册表取系统默认打印机的BAT有点小问题,求指点 [打印本页]
作者: ditto 时间: 2014-6-20 15:52 标题: 读注册表取系统默认打印机的BAT有点小问题,求指点
是读注册表取系统默认打印机的;- @ECHO OFF
- SET SF="HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows"
- FOR /F "tokens=*" %%I IN ('REG QUERY %SF% /v Device 2^>NUL^|FIND /I "Device"') DO echo %%I
-
- pause
复制代码
现在结果是:
Device REG_SZ HP P3015dn,winspool,Ne03:
现在只想返回HP P3015dn
前面的Device REG_SZ 不需要显示
后面的,winspool,Ne03: 也不需要
求高人指点
作者: changedirectory 时间: 2014-6-20 15:58
- @ECHO OFF
- SET SF="HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows"
- 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 的结果里面那些空白的地方不一定是空格,看看就知道了:- 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
- @echo off
- SET SF="HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows"
- for /f "delims=," %%a in ('REG QUERY %SF% /v Device 2^>NUL^|FIND /I "Device"') do (
- for /f "tokens=2*" %%b in ("%%a") do echo %%c
- )
- 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://bathome.net./) |
Powered by Discuz! 7.2 |